スクリプトを使用して、順序付けられていないリストに保存されているさまざまな画像を回転させます。スクリプトは機能していますが、特定の Li に適用されたプリセット クラスを削除しているようです。スクリプトを現在とまったく同じように動作させたいのですが、Li に設定したクラスを削除したくありません。誰かが提案や修正を提供できますか? ありがとうございました。ここでフィドルの例を参照してください。
http://jsfiddle.net/trobbins26/5U4Cr/5/
または以下のスクリプト:
function theRotator() {
//Set the opacity of all images to 0
$('div.rotator ul li').css({opacity: 0.0});
//Get the first image and display it (gets set to full opacity)
$('div.rotator ul li:first').css({opacity: 1.0});
//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
setInterval('rotate()',4000);
}
function rotate() {
//Get the first image
var current = ($('div.rotator ul li.show')? $('div.rotator ul li.show') : $('div.rotator ul li:first'));
if ( current.length == 0 ) current = $('div.rotator ul li:first');
//Get next image, when it reaches the end, rotate it back to the first image
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));
//Un-comment the 3 lines below to get the images in random order
//var sibs = current.siblings();
//var rndNum = Math.floor(Math.random() * sibs.length );
//var next = $( sibs[ rndNum ] );
//Set the fade in effect for the next image, the show class has higher z-index
next.css({opacity: 0.0})
.addClass('show')
.animate({opacity: 1.0}, 500);
//Hide the current image
current.animate({opacity: 0.0}, 1000)
.removeClass('show');
};
setTimeout(function(){
$(document).ready(function() {
//Load the slideshow
theRotator();
$('div.rotator').fadeIn(500);
$('div.rotator ul li').fadeIn(500); // tweek for IE
});
}, 500);