我試圖將頁面上文本的出現(實際上是在 Twine - https://twinery.org/中)延遲到在 span 對象的屬性中定義的數量,如下所示:$(".fadeIn").each(function() { alert(parseInt($(this).attr("fadeInAfter")))});$(".fadeIn").delay(parseInt($(this).attr("fadeInAfter"))).fadeIn(1000);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><span class="hide fadeIn" fadeInAfter="1000">This should fade in after 1 second</span><span class="hide fadeIn" fadeInAfter="5000">This should fade in after 5 seconds</span>使用此代碼,警報框會顯示正確的值,但范圍會立即淡入。我想做的事情可能嗎?我的處理方式是錯誤的嗎?謝謝,
1 回答

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
alert()
調用的代碼和設置延遲的代碼之間有一個非常重要的區別:該方法為每個單獨.each()
調用回調函數。這就是獲取屬性值有效的原因。在您的調用中,代碼將被評估并設置為調用上下文中的任何內容。 <span>
.delay()
this
修復起來很容易:也在回調.delay()
中進行調用.each()
:
$(".fadeIn").each(function() { $(this).delay(parseInt($(this).attr("fadeInAfter"))).fadeIn(1000); });
- 1 回答
- 0 關注
- 105 瀏覽
添加回答
舉報
0/150
提交
取消