脚本停止了

时间:2011-07-24 00:22:51

标签: javascript jquery

我有一个JavaScript脚本,希望每隔几秒就会有多个div淡入/淡出。一次只能看到一个。我已经创建了以下内容来完成这项工作:

var tmnlSpDelay = 5000;
var $currentVis = null;

tmnlFadeIn = function ($re) {
    $re.css("display", "inline");
    $re.fadeIn('slow', "");
    $currentVis = $re;
    setTimeout("tmnlSpinner();", tmnlSpDelay);
}

tmnlSpinner = function () {
    var $random_elem = $('.topcontent').eq(Math.floor(Math.random() * $('.topcontent').length));
    if ($currentVis != null) {
        $currentVis.fadeOut('slow', "function() { tmnlFadeIn($random_elem) }");
    } else {
        tmnlFadeIn($random_elem);
    }
}

$(document).ready(function () {
    tmnlSpinner();
});

正如您所看到的,我也在使用jQuery来帮助我。问题是在它运行一次并再次运行tmnlSpinner之后(因为它已经运行一次,currentVis不再为空)。当它在$currentVis上运行fadeOut时,它就会停止工作。 Google Chrome并未就任何类型的错误向我提供任何反馈。有人看到任何问题吗?

1 个答案:

答案 0 :(得分:8)

删除"function() { tmnlFadeIn($random_elem) }"周围的引号。你传递的字符串应该传递回调。