2015-05-08 66 views
0

我試圖通過點擊更改圖像。圖像應該預先加載,但我甚至不知道它們是否預加載。 Jquery新手請幫忙。更改jquery中的預裝圖像

<script src="https://code.jquery.com/jquery-1.10.2.js"> 
$(document).ready(function() { 
var preloads = [ 
    'images/01.jpg', 
    'images/02.jpg', 
    'images/03.jpg', 
    'images/04.jpg', 
    'images/05.jpg', 
]; 

$(preloads).each(function(){ 
    $('')[0].src=this; 
}); 
var i = 0; 


}); 

$("img").click(function() { 
    ++i; 
    if(i = 17) { 
     i = 0; 
    } 
    $(this).src = preloads[i]; 
}); 
</script> 
+1

檢查您瀏覽器的開發板的''Network''選項卡,看到的是實際作出的請求時。 –

+0

我有,它似乎並沒有加載任何東西,除了我的第一個圖像是在HTML – Othelius

回答

0

你有什麼問題。首先,你不能爲<script>標籤指定一個src,因爲這樣它就不會執行標籤內部的內容,只會執行從源代碼加載的東西。其次,將行$('')[0].src = this;更改爲$('<img/>').get(0).src = val;,並將函數聲明更改爲function (i, val) {,以便傳遞與該數組的每個索引關聯的字符串。

所以,這裏的解決方案:

<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
<script> 
    $(document).ready(function() { 
    var preloads = [ 
     'images/01.jpg', 
     'images/02.jpg', 
     'images/03.jpg', 
     'images/04.jpg', 
     'images/05.jpg', 
    ]; 

    $(preloads).each(function(i, val) { 
     $('<img/>').get(0).src = val; 
    }); 
    var i = 0; 

    $("img").click(function() { 
     ++i; 
     if (i = 17) { 
     i = 0; 
     } 
     $(this).get(0).src = preloads[i]; 
    }); 
    }); 
</script> 
+0

謝謝,現在我看到它正在加載圖像,但點擊更改src仍然無法正常工作。有關於此的任何想法? – Othelius

+0

@Othelius固定 –