我有一个简单的javascript幻灯片,效果很好,但目前循环,但我只希望它运行一次然后停止。我已经摸了一会儿,但不幸的是我不是编码员,所以我来找你帮忙。这是javascript:
<script type="text/javascript">
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');
// uncomment the 3 lines below to pull the images in random order
// var $sibs = $active.siblings();
// var rndNum = Math.floor(Math.random() * $sibs.length );
// var $next = $( $sibs[ rndNum ] );
$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()", 6000 );
});
</script>
希望有人可以提供帮助。
答案 0 :(得分:0)
var interval = null;
function slideSwitch() {
var $active = $('#slideshow IMG.active');
var $next = $active.next();
if($next.length == 0){
// if there is no more images, don't loop but instead stop
if(interval)
clearInterval(interval);
return;
}
$active.addClass('last-active');
$next.css({
opacity: 0.0
})
.addClass('active')
.animate({
opacity: 1.0
}, 1000, function () {
$active.removeClass('active last-active');
});
}
$(function () {
// make sure there is an .active image (preferably the first)
if($('#slideshow IMG.active').length == 0)
$('#slideshow IMG:first').addClass("active");
// store the interval
interval = setInterval("slideSwitch()", 6000);
});