我制作了一个小小的javascript。像这样:
content.css('height', contentHeight, function() {
alert("test");
$("body").scrollTo("#main", 600);
});
我希望在设置内容高度后执行警报。但是我做错了什么?
答案 0 :(得分:1)
.css()
功能是即时的。
content.css('height', contentHeight);
alert("test");
$("body").scrollTo("#main", 600);
答案 1 :(得分:0)
css()
等方法没有'done'处理程序。它立即执行。
所以你必须按如下方式编写代码:
content.css("height", contentHeight);
alert("test");
$("body").scrollTo("#main", 600);
但是,如果您需要在设置高度后添加一些延迟,则可以使用setTimeout()
:
content.css("height", contentHeight);
setTimeout(function() {
alert("test");
$("body").scrollTo("#main", 600);
}, 1000); // 1000 is number of milliseconds
答案 2 :(得分:0)
jquery css方法中的函数意味着不同:
content.css('height', function(){
return contentHeight;
});
内容是一个数组,上面的代码为此数组中的所有元素设置高度。此功能的用法可能如下:
content.css('height', function(index){
return index * contentHeight;
});
在这种情况下,每个下一个元素的高度将增加contentHeight值。
答案 3 :(得分:0)
使用animate,完成后调用回调。
content.animate({
height: contentHeight
}, 0, function() {
alert("test");
$("body").scrollTo("#main", 600);
});
答案 4 :(得分:0)
尝试使用
content.animate(
{height : 100},
5000,
function() {
//Animation complete.
alert("test");
$("body").scrollTo("#main", 600);
}
);