我只是在学习JQUERY而且我一直在玩延迟()我写了一个小提示给你看...我想要做的是当点击一个按钮时,改变div的背景颜色和然后片刻之后再次切换背景颜色。但是当我尝试它时,它只是切换到第二种颜色并跳过第一种颜色。
HTML:
<div class = "animation">
</div>
<button id = "change"> Click </button>
这是Jquery代码:
$(document).ready(function(){
$("#change").click(function(){
$(".animation").css("background", "blue").delay(700).css("background", "red");
});
});
这是链接:
答案 0 :(得分:9)
delay
仅适用于队列中的项目(例如动画)。
除此之外,请使用a regular old timer:
$("#change").click(function() {
var $el = $(".animation");
$el.css("background", "blue");
setTimeout(function () {
$el.css("background", "red");
}, 700);
});
答案 1 :(得分:3)
你可以在这里使用延迟队列
$(".animation").css("background","blue").delay(700)
.queue(function() {
$(this).css("background", "red").dequeue();
});
在点击处理程序中包装上面的代码段。
答案 2 :(得分:0)
<div id="lock"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#lock').prepend('<tr><td>hello</td><td>cool</td><td>dad</td></tr>');
$("#lock tr").css('background-color','yellow');
$("#lock tr")
.delay(4000)
.queue(function() {
$(this).css("background-color","red").dequeue();
})
.fadeIn();
});
</script>
试试这个。