我做了一个小javascript。像这样:
content.css('height', contentHeight, function() {
alert("test");
$("body").scrollTo("#main", 600);
});
我希望在设置内容高度后执行警报。但是我做错了什么?
我做了一个小javascript。像这样:
content.css('height', contentHeight, function() {
alert("test");
$("body").scrollTo("#main", 600);
});
我希望在设置内容高度后执行警报。但是我做错了什么?
该.css()
功能是即时的。
content.css('height', contentHeight);
alert("test");
$("body").scrollTo("#main", 600);
使用动画,完成时调用回调。
content.animate({
height: contentHeight
}, 0, function() {
alert("test");
$("body").scrollTo("#main", 600);
});
jquery css方法中的函数含义不同:
content.css('height', function(){
return contentHeight;
});
内容是一个数组,上面的代码设置了这个数组中所有元素的高度。这个函数的用法可能是这样的:
content.css('height', function(index){
return index * contentHeight;
});
在这种情况下,每个下一个元素的高度将增加 contentHeight 值。
尝试使用
content.animate(
{height : 100},
5000,
function() {
//Animation complete.
alert("test");
$("body").scrollTo("#main", 600);
}
);
像这样的方法没有“完成”处理程序css()
。它立即执行。
所以你必须编写如下代码:
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