我有一个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并未就任何类型的错误向我提供任何反馈。有人看到任何问题吗?
答案 0 :(得分:8)
删除"function() { tmnlFadeIn($random_elem) }"
周围的引号。你传递的字符串应该传递回调。