2013-02-23 70 views
0

我是一個jquery語言的新手,但即時創建一個非常簡單的圖庫,只加載畫廊的第一個圖像。用戶需要點擊縮略圖才能查看圖像。這是因爲即時通訊使用一個大圖像的畫廊,以便它不必加載每個圖像。現在即時創建下一個和上一個按鈕時出現問題。jquery下一個以前的非預加載圖像

這是在圖像負載

<div class="entry-content"> 
<div class="img-box"> 
<img id="img-preview" src="#" > 
</div> 
</div>       

這是分頁

<div class="paginate"> 
<a href="#" class="prev"></a> 
<a href="#" class="next"></a> 
</div> 

這是縮略圖屬於

<ul id="related-category"> 
<li class="photo"><a href="#" ></a></li> 
<li class="photo"><a href="#" ></a></li> 
<li class="photo"><a href="#" ></a></li> 
<li class="photo"><a href="#" ></a></li> 
</ul> 

JQUERY

jqu(document).ready(function(){ 

jqu("#related-category li a").click(function(){ 

    var largePath = jqu(this).attr("href");  
    jqu("#img-preview").attr({ src: largePath }); 
    return false; 

}); 

    jqu("a.next").click(function(){ 
    jqu(" li.photo").next("a"); 
}); 
    jqu("a.prev").click(function(){ 
    jqu("li.photo").prev("a"); 
}); 
}); 

一直在尋找解決方案,但大多數滑塊圖像是作爲滑塊加載預加載的。 mine doensn't

感謝您的幫助!

+0

jQuery的語言== JavaScript語言:) – 2013-02-23 11:39:27

回答

1

.next().prev()方法不會導致點擊發生,它們創建一個jQuery對象,該對象包含與當前DOM相同級別的下一個或上一個元素。所以jqu("li.photo").next("a")不會找到任何東西,因爲沒有與li元素在同一水平的錨點,並且在任何情況下"li.photo"選擇所有的李元素。

我建議你上的點擊裏記住這是一個設置標誌(使用類),然後就可以使用.next().prev()元素:

jqu("#related-category li a").click(function(){ 
    jqu("#related-category li").removeClass("selected"); 
    jqu(this).parent().addClass("selected"); 
    var largePath = jqu(this).attr("href");  
    jqu("#img-preview").attr({ src: largePath }); 
    return false;  
}); 

jqu("a.next").click(function(){ 
    jqu("li.selected").next().find("a").click(); 
}); 
jqu("a.prev").click(function(){ 
    jqu("li.selected").prev().find("a").click(); 
}); 

演示:http://jsbin.com/iruyap/1/edit

(注:你可能想添加一些代碼到上一個和下一個處理程序做一些事情,如果沒有一個或下一個項目)

+0

是的!這就像一個魅力!感謝您的努力隊友!上帝祝福你! :d – 2013-02-23 11:58:52