脚本只是停止

Script just stops

本文关键字:脚本      更新时间:2023-09-26

我有一个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上运行淡出时,它只是停止工作。谷歌浏览器没有给我任何错误的反馈。有人发现问题了吗?

去掉"function() { tmnlFadeIn($random_elem) }"周围的引号。你正在传递一个字符串,你应该传递一个回调