2011-01-12 20 views
0

下面是一個簡單的腳本,用於通過顯示一組html框的數組。初始函數通過php將來自mysql數據庫的元素加載到jquery數組中。通過jquery中的元素數組倒回來

next3函數完美地工作,但對於我的生活我無法倒帶到最後三個。

任何一個可以幫助...

function createTicker(){ 
tickerItems = new Array(); 
<?php 
for($i = 0; ($rs=mysql_fetch_array($detail4conferences)); $i++) { 

    $confid = '<a href=\"../'.$rs['confid'].'\" class=\"forthcomingBox\">'; 

    if(!empty($rs['strapline'])){ 
    $strapline = '<span class=\"prefixPages\">'.$rs['strapline'].'</span><br />'; 
    } else { 
    $strapline = ''; 
    } 

    $title = '<span class=\"hpTitle\">'.$rs['title'].'</span><br/>'; 

    if(!empty($rs['subtitle'])){ 
    $subtitle = '<span class=\"subtitlePages\">'.$rs['subtitle'].'</span><br />'; 
    } else { 
    $subtitle = ''; 
    } 

    $dateline = '<span class=\"dateandlocationPages\">'.$rs['dateline'].'</span></a>'; 

    echo "tickerItems[$i] = '$confid$strapline$title$subtitle$dateline';"; 
    } 
?> 
i = 0; 
tickerIt(); 
    } 

    function next3(){ 
if(i >= tickerItems.length){ 
    i = 0; 
} 

$('#tickerHolder').fadeOut(300, function(){ 
    $('#ticker1').html(tickerItems[i]); 
    $('#ticker2').html(tickerItems[i+1]); 
    $('#ticker3').html(tickerItems[i+2]); 
    $('#tickerHolder').fadeIn("slow"); 
    i = i + 2; 
    i++; 
}); 
    } 

我不知道該怎麼做下面 - 似乎沒有任何土地我的正確最後三個不管我什麼迭代...

function prev3(){ 
if(i >= tickerItems.length){ 
    i = 0; 
} 

$('#tickerHolder').fadeOut(300, function(){ 
    $('#ticker1').html(tickerItems[i-4]); 
    $('#ticker2').html(tickerItems[i-5]); 
    $('#ticker3').html(tickerItems[i-6]); 
    $('#tickerHolder').fadeIn("slow"); 
    i--; 
}); 
    } 
+0

我們有什麼,一個VHS播放?請善待,倒帶。 j/k在問題中設置代碼的格式以便於閱讀,您將獲得更快的響應。歡迎來到S.O.! –

+0

現在應該會更好一點...並感謝您的歡迎! – MarkBeharrell

回答

0

試試這個...

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Test</title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
    </head> 
    <body> 
    <div class="container"> 
     <div class="line1"></div> 
     <div class="line2"></div> 
     <div class="line3"></div> 
    </div> 
    <a class="prev">Prev</a> 
    <a class="next">Next</a> 
    </body> 
    <script type="text/javascript"> 
    function showPage(pageNum, arr) 
    { 
     $(".container").fadeOut(300, function() { 
     $(".line1").html(""); 
     $(".line2").html(""); 
     $(".line3").html(""); 

     i = (pageNum - 1) * 3; 
     $(".line1").html(arr[i]); 
     $(".line2").html(arr[i + 1]); 
     $(".line3").html(arr[i + 2]); 
     $(".container").fadeIn("slow"); 
     }); 
    } 

    $(function() { 

     var tickers = [ 
     "Item 1", 
     "Item 2", 
     "Item 3", 
     "Item 4", 
     "Item 5", 
     "Item 6", 
     "Item 7", 
     "Item 8" 
     ]; 

     var numPages = Math.round(tickers.length/3); 
     var currentPage = 1; 

     showPage(currentPage, tickers); 

     $(".next").click(function() { 
     if (currentPage + 1 > numPages) return; 

     currentPage++;  
     showPage(currentPage, tickers); 
     }); 

     $(".prev").click(function() { 
     if (currentPage - 1 < 1) return; 

     currentPage--; 
     showPage(currentPage, tickers); 
     }); 
    }); 
    </script> 
</html> 
+0

哇謝謝 - 不適合早上去這個 - 今天有足夠的編碼讓我的大腦吸收... – MarkBeharrell

+0

終於到處去嘗試這個了,它的偉大。我已經開始添加頁面中的其他一些功能 - 但哇! - 我仍然挑選代碼來找出你是如何做到的...... – MarkBeharrell

+0

很高興你覺得它很有用。在離開編碼很長一段時間之後,對於我來說,這是一個很好的清新練習,它做了太多與IT相關的事情:)。 –

相關問題