我正在嘗試構建一個小模式插件,但我正在努力尋找隱藏模式並能夠使用僅CSS3轉換淡入/淡出的方式。隱藏模式並使用CSS3轉換顯示
顯然,我不能使用display:none來繼承和使用不透明度,而且可見性不是一個選項,因爲內容仍然在技術上存在,它只是不能被看到,所以它會阻止它下面的元素被使用(按鈕等)
所以我的想法是使用jQuery在display:hidden和inherit之間切換,然後使用jQuery添加一個'shown'類來觸發轉換。但它不起作用。我只是得到一個即時演出(就像背後的黑屏元素一樣)。雖然CSS轉換工作正常,但我已經測試過它們沒有「顯示」的東西。
我的jQuery至今:
// Modal open trigger
$('.modal-trigger').click(function() {
modal = $('#' + $(this).data('modal-trigger'));
modal.css({'display':'inherit'}).addClass('modal-show');
$('#blackout').css({'display':'inherit'}).addClass('show');
});
任何想法?
非常好。我實際上在類似的問題中使用了指針事件(「跳回頂部」按鈕)。也許我只是迂腐,但我真的不喜歡這個元素仍然存在的想法。你懂?然而你的超時解決方案看起來ace我會試試看看我喜歡它! – twistedpixel
我同意。我可能不會在你的情況下使用該選項。我相信它也有一些性能影響,因爲除非有一些巧妙的優化,否則瀏覽器仍然需要完成大部分渲染工作。但對於這裏和那裏的奇怪效果來說,這是一個不錯的選擇。 – Nevett
工程像魔術,很乾淨 - 非常感謝!我也喜歡這個理論 - 我不知道不適用於隱藏元素的轉換。這真的幫助我理解*爲什麼*發生這個問題,我認爲這是解決問題的一個非常重要的部分。 – twistedpixel