2015-05-08 2 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

Есть несколько вещей, которые не соответствуют тому, что у вас есть. Во-первых, вы не можете указать src для тега <script> с телом, потому что тогда он не будет выполнять то, что у вас внутри тега, только то, что загружено из источника. Во-вторых, измените строку $('')[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

@ Thethelius исправлено –