我正在尝试为文档加载时隐藏的横幅(宽度100%,高度150px)设置动画(位置相对,顶部-150px)。我想在3秒后显示它,我做错了什么?这看起来很直接吗?
$(function() {
var t = setTimeout(popmenu(), 3000);
function popmenu() {
$('#bcktop').animate({
top : "+=150"
}, 150
);
}
});
答案 0 :(得分:4)
您正在调用popmenu而不是传递函数:
var t = setTimeout(popmenu(), 3000);
应该是:
var t = setTimeout(popmenu, 3000);
答案 1 :(得分:1)
您希望将函数引用传递给setTimeout
函数。通过发送类似this()
的函数,您将该函数的返回值发送到setTimeout
。
改变这个:
var t = setTimeout(popmenu(), 3000);
到此:
var t = setTimeout(popmenu, 3000);
答案 2 :(得分:0)
您还可以使用jQuery .delay()
函数:
$('#bcktop').delay(3000).animate({
top: "+=150"
}, 150);
答案 3 :(得分:0)
在popmenu()周围添加引号并将function popmenu()
放在$(function() { });
之外修复它:
$(function() {
var t = setTimeout("popmenu()", 3000);
});
function popmenu() {
$('#bcktop').animate({
top : "+=150"
}, 150
);
}