(我已經參加了9周的訓練營,所以我為這可能是最基本的性質道歉...)
我正在將一個元素追加到DOM中(一個按鈕),在一個條件下:
$('.buttsAndInputs')。 append(`<button id="clearHistoryButton">Clear All</button>`) 。
當這個按鈕被點擊時,它通過一系列的函式來清空一個陣列,并清除DOM中的一些其他內容。我想使用jQuery的.fadeOut方法來移除這個按鈕,
。我在一個后續的函式里有這樣的內容:
我在一個后續的函式里有這樣的內容。
$('#clearHistoryButton'/span>).remove()。
我想:
$('#clearHistoryButton').fadeOut(1000) 。
...這樣它就會以一種花哨的方式消失。
這不起作用--它只是簡單地等待一秒鐘,然后--POOF--就消失了。
這是我的第一個問題。
這是我的第一個問題。這個社區對我在這個領域的成長起到了至關重要的作用,而且,我一如既往地非常感謝你們所有人。
uj5u.com熱心網友回復:
你是否在你的CSS中嘗試了transition: opacity 1s?
優點:
硬體加速(GPU),也就是說,它不會因為這個任務而打擾你的主處理器(CPU),而jQuery的fadeOut()函式是基于軟體的,并且確實需要CPU資源來達到這個效果。
步驟:
- 添加
transition: opacity 1s到您所需的按鈕元素的CSS規則中
添加
transition: opacity 1s。 這里。(#clearHistoryButton) - 添加一個CSS規則
button.fadeMeOut,opacity: 0 - 添加一個簡單的jQuery函式,在點擊時添加".fadeMeOut "類 。
- 然后用
setTimeout(function(){$('#clearHistoryButton').remove()},1000)洗掉按鈕。
運行代碼片斷
。$(function() { // 簡稱$( document ) .ready()
$("#clearHistoryButton").on( "click", function() {
//首先:用CSS淡出按鈕。
$(this).addClass("fadeMeOut") 。
//然后:在淡出效果完成后,從你的DOM中洗掉按鈕。
setTimeout(function(){
$('#clearHistoryButton'/span>).remove()。
},1000)。)
});
});
button {
opacity: 1;
-webkit-transition: opacity 1s;
-moz-transition: opacity 1s;
transition: opacity 1s;
}
button.fadeMeOut {
opacity: 0;
}
<script src="https://cdnjs. cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>/span>
<button id="clearHistoryButton"/span>> 按下隱藏我</按鈕>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/319391.html
標籤:
上一篇:影片寫作html、css
