我正在尝试延迟我在jquery脚本中启动的函数。我输入了一个settimeout,但由于某种原因没有采取,它打破了脚本的其余部分。提前感谢您提供的任何帮助。
JS
<script type="text/javascript">
$(function () {
$("#fullscreen_launch").click(function () {
$("#fullscreen").animate({
height: '100%',
top: '0px',
}, 950, setTimeout(function () {
$('#fullscreen').load('http://www.klossal.com/portfolio/space_fullscreen.html');
}, 2000);
});
});
});
</script>
答案 0 :(得分:2)
animate
的最后一个参数是回调。 setTimeout
不返回函数,它返回timeoutID(用于clearTimeout
)。您需要将函数传递给animate
。
$(function () {
$("#fullscreen_launch").click(function () {
$("#fullscreen").animate({
height: '100%',
top: '0px',
}, 950, function () {
setTimeout(function () {
$('#fullscreen').load('http://www.klossal.com/portfolio/space_fullscreen.html');
}, 2000);
});
});
});
答案 1 :(得分:1)
我的代码正常运行,它位于此处:http://jsfiddle.net/VEXfJ/7/
单步执行代码的好方法是添加警报语句。
$(function()
{
$("#fullscreen_launch").click(function()
{
alert("Clicked");
$("#fullscreen").animate(
{
top: 0,
height: 'toggle'
}, 5000, function()
{
alert("animate complete");
setTimeout(function()
{
alert("timeout");
$('#fullscreen').load('http://www.klossal.com/portfolio/space_fullscreen.html');
}, 2000);
});
});
});