我有一个 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
不再为 null)。当它在 $currentVis
上运行 fadeOut 时,它就停止工作了。 Google Chrome 不会就任何类型的错误向我提供任何反馈。有人看到任何问题吗?
最佳答案
删除 "function() { tmnlFadeIn($random_elem) }"
周围的引号。您正在传递一个字符串,您应该在其中传递回调。
关于javascript - 脚本刚刚停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6804174/