【发布时间】:2014-08-20 04:23:07
【问题描述】:
我正在尝试下雪动画。我想在例如之后停止它5秒。我目前在setTimeOut 之间添加animate,不知何故没有效果。我在这里错过了什么?
当前代码:
function fallingSnow() {
var snowflake;
snowflake = $('<div class="snowflakes"></div>');
$('#snowZone').prepend(snowflake);
snowX = Math.floor(Math.random() * $('#site').width() / 4);
snowSpd = Math.floor(Math.random() + 50000);
snowflake.css({
'left': snowX + 'px'
});
setTimeout(function(){
snowflake.stop().animate({
top: "700px",
opacity: "5",
}, snowSpd, function () {
$(this).remove();
fallingSnow();
})
},5000);
}
timer = Math.floor(Math.random() + 1000);
window.setInterval(function () {
fallingSnow();
}, timer);
更新:在使用@Kyojimaru 的回答之后。
snowflake.animate({
top: "700px",
opacity: "5",
}, 5000, function () {
$(this).remove();
if(!end) {
fallingSnow();
window.setTimeout(function () {
clearInterval(interval);
end = true;
}, 5000);
}
}
);
【问题讨论】:
-
你能做一个小提琴吗?
标签: javascript jquery jquery-animate settimeout