2009-08-05 71 views
1

我正在寫一些相當基本的jQuery代碼來創建DIV中一組圖像的幻燈片。 CSS確保所有圖像堆疊在一起。該腳本查看集合中的活動圖像,然後向上移動NEXT圖像的z-index(通過CSS類)並從0.0不透明度中淡入。沖洗,重複。它實際上是基於我在John Raasch's blog找到的一些代碼。jQuery:將幻燈片從一個DIV轉換爲多個DIV

我試圖調整代碼,以便在不透明度淡入完成時,它會查看頁面上的下一個幻燈片DIV,將它推進一張圖像,然後繼續向下,直到所有DIV順序向前移動一個框架。然後,我希望它等待一段時間,然後再一次完成。

我試過產生下面的代碼,但它打破了我,告訴我,target.next不是一個函數...

jQuery的

$(document).ready(function(){ 
    setInterval("slideSwitch('div:first')", 5000); 
}); 

function slideSwitch(target) { 
    var nextTarget = target.next(); 
    var active = $(target+' img.active'); 

    if (active.length == 0) 
     active = $(target+' img:last'); 

    var next = active.next().length ? active.next() : $(target+' img:first'); 

    active.addClass('last'); 

    next.css({opacity: 0.0}) 
     .addClass('active') 
     .animate({opacity: 1.0}, 500, function() { 
      active.removeClass('active last'); 
      slideSwitch(nextTarget); 
     }); 
}; 

回答

1

你的「目標」是不是一個jQuery對象。你需要做$(目標).next()

+0

賈森,謝謝你跳進來!我改變了nextTarget變量,如下所示: var nextTarget = $(target).next(); 現在我有一個新問題。當JS執行.animate回調中的slideSwitch(nextTarget)時,我的Firebug控制檯中出現以下錯誤: 未捕獲的異常:語法錯誤,無法識別的表達式:[object Object] 任何想法? – 2009-08-05 18:11:51