在this example中:
$('#click').click(function() {
$('#delay').delay(2000).css('background-color', '#c30000');
});
为什么delay()
来电不会延迟css()
来电?
答案 0 :(得分:3)
结帐http://api.jquery.com/delay/和http://api.jquery.com/queue/
$(document).ready(function() {
$('#click').click(function() {
$('#delay').delay(2000).queue(function () {
$(this).css('background-color', '#c30000');
});
});
});
答案 1 :(得分:1)
使用javascript的setTimeout():
setTimeout(function() {
$('#delay').css('background-color', '#c30000');
}, 2000);
答案 2 :(得分:0)
.delay()方法最适合在排队的jQuery效果之间延迟 。因为它是有限的 - 例如,它没有提供取消延迟的方法 - .delay()不能替代JavaScript的本机setTimeout函数,这可能更适合某些用例。
所以,基本上,在你的场景中,超时是一种比延迟更好的方法,因为你不是在效果之间。
答案 3 :(得分:-1)
delay()
仅适用于jQuery effects。
改为使用基本setTimeout
电话。