我是jQuery newb,我一直在試圖爲我正在開發的頁面創建自定義幻燈片窗口小部件。我已經能夠獲得所有的基本功能(自動播放,暫停,標題),但是我已經在分頁時碰到一個障礙(允許您選擇幻燈片)。無論出於何種原因,一旦我嘗試選擇幻燈片,圖像和標題消失。沒有錯誤拋出它只是拒絕切換圖像或標題。繼承人的代碼:jQuery幻燈片分頁問題
這段代碼啓動幻燈片,並控制它
$(document).ready(function() {
var speed = 2000;
var state = 1;
$('#gallery li, #caption li').css('position','absolute');
$('#gallery li:first, #caption li:first').addClass('visible');
var timer = setInterval('autoSlideshow(-1)', speed);
$('#controls a.playpause').toggle(
function() {
$(this).css('background-image','url(images/play.png)');
clearInterval(timer);
state = 0;
return false;
},
function() {
$(this).css('background-image','url(images/pause.png)');
timer = setInterval('autoSlideshow(-1)', speed);
state = 1;
return false;
}
);
$('#controls a.pagination').click(function(){
var slide = $(this).index();
slide-=1;
clearInterval(timer);
timer = setInterval(function(){autoSlideshow(slide);}, speed);
});
$('#gallery, #caption').hover(
function() {
if(state == 1)
clearInterval(timer);
},
function() {
if (state == 1)
timer = setInterval('autoSlideshow(-1)', speed);
}
);
});
此位做了淡入淡出的幻燈片
function autoSlideshow(mode) {
var currentImage = $('#gallery li.visible');
var currentCaption = $('#caption li.visible');
if(mode == -1){
var nextImage = currentImage.next().length ? currentImage.next() :
currentImage.siblings(':first');
var nextCaption = currentCaption.next().length ? currentCaption.next() : //Determine the next slide
currentCaption.siblings(':first');
}
else{
var nextImage = $('#gallery li:eq(mode)'); //I'm pretty sure these two lines are the problem
var nextCaption = $('#caption li:eq(mode)'); //
}
currentImage.fadeOut(250).removeClass('visible');
nextImage.fadeIn(250).addClass('visible');
currentCaption.fadeOut(250).removeClass('visible');
nextCaption.fadeIn(250).addClass('visible');
}
任何幫助你們可以給予讚賞。
莫
你明白了。它現在工作完美無瑕。這很奇怪,因爲模式對於if語句來說顯示爲一個整數,所以我不確定它爲什麼在eq()過濾器中顯示爲字符串。此外,我從來沒有見過這種語法......是否有可能強制任何其他數據類型? – mrGupta 2010-08-06 03:49:52
@mrGupta:請參閱上面的修改 – Hogan 2010-08-07 11:25:18