【发布时间】:2015-01-06 00:06:31
【问题描述】:
为什么.delay 在我的代码中不起作用?
代码应该
- 将
.sample的不透明度切换为0 - 等待2s(使用
.delay)然后添加类.bg_color - 等待 2 秒,然后将
.sample的不透明度切换回 1
HTML
<div class="sample"></div><br><br><br>
<button class="btn_1">Change</button>
CSS
.sample{
padding:20px;
background:skyblue;
float:left;
}
.bg_color{
background:red;
}
JQUERY
$(document).ready(function(){
$(".btn_1").click(function(){
$(".sample").css("opacity","0");
$(".sample").delay(1000).addClass("bg_color");
$(".sample").delay(1000).css("opacity","1");
});
});
你可以找到我的小提琴here
【问题讨论】:
-
如文档所述: .delay() 方法最适合在排队的 jQuery 效果之间进行延迟。因为它是有限的——例如,它不提供取消延迟的方法——.delay() 不能替代 JavaScript 的原生 setTimeout 函数,这可能更适合某些用例。