Dri*_*k86 7 jquery setinterval
你好,我有这样的事情:
$(document).ready(function(){
$("#all").height($(window).height()-60);
$('a').bind({
mouseover:function(){
$(this).stop().animate({opacity:0.8},500);
},
mouseout:function(){
$(this).stop().animate({opacity:1},500);
},
click:function(){
}
});
// CLOUDS SCROLL
function cloudScroll(){
var current=parseFloat($('#clouds').css('left'));
current += 1;
$('#clouds').css("left",current);
}
var init = setInterval('cloudScroll()', 270);
});
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但无论如何它返回:cloudScroll没有定义.
为什么?
Kob*_*obi 23
尝试直接传递函数,使用字符串是相当过时的:
var init = setInterval(cloudScroll, 270);
Run Code Online (Sandbox Code Playgroud)
setInterval在全局命名空间中执行,但您的云滚动功能在匿名document.ready函数中定义.
它应该解决你的问题,并且将函数引用传递给setInterval而不是字符串(最终会被唤醒,这对性能更糟)也是更好的形式:
setInterval(function (){ cloudsScroll() }, 270);
Run Code Online (Sandbox Code Playgroud)
您还可以将cloudScroll定义放在区间函数中.
归档时间: |
|
查看次数: |
9984 次 |
最近记录: |