我試圖「分流」滑塊中的圖像集合的位置左/右,每當用戶單擊滑塊中的相應按鈕。我有這個工作,但代碼是有點大和重複,所以我一直在試圖把它清除掉一點點,這是它在它的當前狀態:試圖創建一個簡單的圖庫滑塊
$('#btnRight').click(function (e) {
e.preventDefault();
if (parseInt(6 + indexx) != 10) {
indexx++;
$('#first').attr('src', $('#second').attr('src'));
$('#second').attr('src', $('#third').attr('src'));
$('#third').attr('src', $('#fourth').attr('src'));
$('#fourth').attr('src', $('#fifth').attr('src'));
$('#fifth').attr('src', $('#sixth').attr('src'));
$('#sixth').attr('src', '/Content/Images/Gallery/Thumbs/' + parseInt(6 + indexx) + '.png');
}
});
你可以看到,它的手動選擇每個元素並交換source屬性以將圖像移動到右側。
這裏是我一直在努力改進的代碼,但完全不是那麼回事:
$('#btnLeft').click(function (e) {
e.preventDefault();
$("#gallerySlider img").each(function (index) {
$(this).attr("src", $(this).prev().attr("src"));
});
});
這需要在第一圖像當前集合中,只是將所有圖像的源#gallerySlider
這是錯誤的。但是,如果我將相同的代碼放入警報中,它會正確顯示圖像,並且它是之前的圖像,例如輸出類似於:
/Content/Images/Design/Thumbs/10.png Previous Image: /Content/Images/Design/Thumbs/9.png
所以它的正確選擇圖像,並給我回到正確src
,但爲什麼這一切都在滑塊圖像的源設置爲同一個?當然,它應該通過所有這些,:
$(this).prev().attr("src")
將是每一個有什麼不同?
任何人都可以看到我在這裏出錯了嗎?
三江源
我會試試看,似乎有道理。我想到的另一個想法是將所有圖像存儲在數組中,然後使用'each'中的索引正確設置源? – dtsg 2012-08-10 09:09:24
您的陣列解決方案將工作,但是當您使用它時,您將不得不在兩個位置維護您的圖像列表,我通常不會這樣做,因爲它可能會在未來造成問題;) – bkwint 2012-08-10 09:11:39
工作正常,謝謝!不必擔心邊界檢查,因爲它只是循環,好東西。 – dtsg 2012-08-10 09:12:42