2011-03-01 40 views
0

我發現此問題的答案爲:jQuery Carousel How to show the Next or Previous Element only.並已使用該代碼創建文本Feed。 「下一步」和「上」的工作,現在我想將其設置爲通過飼料的onload循環,這就是我來了這麼遠,但它不工作:jQuery Carousel。如何在x秒後自動顯示下一個元素


$(function(ticker) { 

    $('#latest_news_ticker li').fadeOut(0); 

    $('#latest_news_ticker li:first').fadeIn(500); 

    $('a.leftarrow, a.rightarrow').click(function (ev) 

    { 
     //prevent browser jumping to top 
     ev.preventDefault(); 

     //get current visible item 
     var $visibleItem = $('#latest_news_ticker li:visible'); 

     //get total item count 
     var total = $('#latest_news_ticker li').length; 

     //get index of current visible item 
     var index = $visibleItem.prevAll().length; 

     //if we click next increment current index, else decrease index 
     $(this).attr('href') === '#carouselNext' ? index++ : index--; 

     //if we are now past the beginning or end show the last or first item 
     if (index === -1){ 
      index = total-1; 
     } 
     if (index === total){ 
      index = 0 
     } 

     //hide current show item 
     $visibleItem.hide(); 

     //fade in the relevant item 
     $('#latest_news_ticker li:eq(' + index + ')').fadeIn(500); 

     //after x seconds click next 

    }); 

$(document).ready(function() { 

var t = setInterval ('ticker()', 1000); 

}); 

}); 
+0

沒有一個函數'股票()',你只指定在一個名爲'ticker'匿名函數的參數。 – pimvdb 2011-03-01 12:02:43

+0

我意識到,張貼後,這解釋了爲什麼我不能讓setInterval工作(實質上是功能未被創建)。感謝您的反饋,我已經設法讓所有的工作現在:) – 2011-03-02 09:35:42

回答

1

對於那些誰想要懸停添加暫停:

// JavaScript Document 
    $(function(){ 
$('#latest_news_ticker li').fadeOut(0); 
$('#latest_news_ticker li:first').fadeIn(500); 
var ticker = setInterval(nextone,3000); 

function nextone() { 
    var $visibleItem = $('#latest_news_ticker li:visible'); 
    var total = $('#latest_news_ticker li').length; 
    var index = $visibleItem.prevAll().length; 
    $(this).attr('href') === '#carouselNext' ? index++ : index--; 
    if (index === -1) { 
     index = total - 1; 
    } 
    if (index === total) { 
     index = 0 
    } 
    $visibleItem.hide(); 
    //fade in the relevant item 
    $('#latest_news_ticker li:eq(' + index + ')').fadeIn(500); 

}; 

$('#latest_news_ticker li a') 
.hover(
function() { 
clearInterval(ticker) 
}, 
function() { 
ticker = setInterval(nextone, 3000); 
} 
); 


$('a.leftarrow, a.rightarrow').click(

function(ev) { 
    ev.preventDefault(); 
    nextone(); 
    clearInterval(ticker); 
    ticker = setInterval(nextone, 3000); 
}); 
});