Jquery .delay()在更改<;的背景色时不起作用;部门>;
我只是在学习JQUERY,我一直在玩delay()我写了一把小提琴给你看。。。我试图做的是,当点击一个按钮时,改变div的背景色,然后在几分钟后再次切换背景色。但当我尝试时,它只是切换到第二种颜色,跳过第一种颜色 HTML: 以下是链接: 仅适用于队列中的项目(如动画) 对于其他内容,请使用:Jquery .delay()在更改<;的背景色时不起作用;部门>;,jquery,css,Jquery,Css,我只是在学习JQUERY,我一直在玩delay()我写了一把小提琴给你看。。。我试图做的是,当点击一个按钮时,改变div的背景色,然后在几分钟后再次切换背景色。但当我尝试时,它只是切换到第二种颜色,跳过第一种颜色 HTML: 以下是链接: 仅适用于队列中的项目(如动画) 对于其他内容,请使用: 您可以在此处使用延迟和队列 $(".animation").css("background","blue").delay(700) .queue(function() {
您可以在此处使用延迟和队列
$(".animation").css("background","blue").delay(700)
.queue(function() {
$(this).css("background", "red").dequeue();
});
将上面的代码片段包装到单击处理程序中。
<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>
$(文档).ready(函数(){
$(“#lock”).prepend('hellocoldad');
$(“#lock tr”).css('background-color','yellow');
$(“锁定tr”)
.延迟(4000)
.queue(函数(){
$(this.css(“背景色”,“红色”).dequeue();
})
.fadeIn();
});
试试这个。@cipherous也可以查看
setInterval()
,在这个例子中使用它没有意义,但它也有助于动画/循环我们可以在这里使用延迟。请核对我的答案。@JustinJohn-我们当然可以。正如我在回答中所说,队列中的任何东西都可以使用延迟
。问题是:我们应该吗?为什么不直接使用本机setTimeout
?
$("#change").click(function() {
var $el = $(".animation");
$el.css("background", "blue");
setTimeout(function () {
$el.css("background", "red");
}, 700);
});
$(".animation").css("background","blue").delay(700)
.queue(function() {
$(this).css("background", "red").dequeue();
});
<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>