使用http://jonraasch.com/blog/a-simple-jquery-slideshow
中的代码我创建了一个jsfiddle。
问题是幻灯片在jsfiddle中没有工作,所以我不能根据我的需要调整它
任何人都能看到问题所在
码
function slideSwitch() {
var $active = $('#slideshow IMG.active');
if ( $active.length == 0 ) $active = $('#slideshow IMG:last');
// use this to pull the images in the order they appear in the markup
var $next = $active.next().length ? $active.next()
: $('#slideshow IMG:first');
$active.addClass('last-active');
$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active last-active');
});
}
$(function() {
setInterval( "slideSwitch()", 5000 );
});
</script>
<style type="text/css">
/*** set the width and height to match your images **/
#slideshow {
position:relative;
height:350px;
}
#slideshow IMG {
position:absolute;
top:0;
left:0;
z-index:8;
opacity:0.0;
}
#slideshow IMG.active {
z-index:10;
opacity:1.0;
}
#slideshow IMG.last-active {
z-index:9;
}
</style>
<div id="slideshow">
<img src="http://jonraasch.com/img/slideshow/simple-jquery-slideshow.png" alt="Slideshow Image 1" class="active" />
<img src="http://jonraasch.com/img/slideshow/mini-golf-ball.jpg" alt="Slideshow Image 2" />
<img src="http://jonraasch.com/img/slideshow/jon-raasch.jpg" alt="Slideshow Image 3" />
<img src="http://jonraasch.com/img/slideshow/ear-cleaning.jpg" alt="Slideshow Image 4" />
</div>
答案 0 :(得分:3)
您的代码出现问题。您已发送到setInterval的处理程序上有额外的括号。
向函数发送处理程序时,我们不编写括号。如果编写它们,实际发生的是调用函数(slideSwitch()
)并将其返回值发送到函数(setInterval
)。
$(function () {
setInterval(slideSwitch, 5000); // Not slideSwitch()
});
现在它正在运作
答案 1 :(得分:2)
从setInterval
:
setInterval(slideSwitch, 5000);
setInterval
的第一个参数查找每毫秒运行一次的函数。你在调用它,而不是引用这个函数。在您的示例中,您实际上是在第一个参数中调用该函数(因此只要您的脚本加载)。我想你的函数返回null
,所以你没有得到JavaScript错误,但只是null
每5000毫秒运行一次。