2013-08-01 2 views
0

Я пытаюсь получить значения ссылок в каждом элементе списка и перевести их в свое .skater_large image src.Передача значений массива в исходный код изображения

Вот HTML:

<html> 
<body> 
    <div> 
    <ul id="skater_multiview"> 
     <li><a href="skater1_big.jpg"><img src="skater1-thumb.jpg" /></a></li> 
     <li><a href="skater2_big.jpg"><img src="skater2-thumb.jpg" /></a></li> 
     <li><a href="skater3_big.jpg"><img src="skater3-thumb.jpg" /></a></li> 
    </ul> 
    </div> 
    <div> 
    <img class="skater_large" src="empty.jpg" /> 
    </div> 
    </body> 
    </html> 

и JS:

 $('#skater_multiview li a').each(function(click) { 

     var cardboard = new Array(); 
     for(i=0; i<$('#skater_multiview li a').length; i++) { 

      // gathering all skater carousel list link values 
      var pro_link = $('#skater_multiview li a').eq(i).attr('href'); 

      // adding hrefs to array 
      cardboard.push(pro_link); 
      // pushing cardboard array values into img src 
      $('.skater_large').attr('src',cardboard[i]); 
      }; 
     }); 
+0

Неясно, в чем ваш вопрос. Не могли бы вы указать проблему, с которой вы сталкиваетесь? Что вы ожидаете увидеть и что не соответствует этому ожиданию? – seanmk

+0

Дополнительная информация поможет. Похоже, что for-loop будет выполняться так быстро, что src '$ ('. Skater_large')' будет мгновенно перейти к последнему. Я думаю, что таймер будет работать лучше, но, как я уже сказал, я не понимаю ваших намерений. –

+0

Ваш код также запутан. Нет '#skater_multiview li a' имеет атрибут href, так почему вы пытаетесь получить к нему доступ? – FakeRainBrigand

ответ

0

Я думаю, что вы ищете просто щелкните событие, заменяющего src .. Это должно сделать

var cardboard = []; 
$('#skater_multiview li a').each(function (index) { 
    // gathering all skater carousel list link values 
    var pro_link = $(this).attr('href'); 
    // adding hrefs to array 
    cardboard.push(pro_link); 
    // pushing cardboard array values into img src 
    $('.skater_large').attr('src', cardboard[i]); 
}); 

// Attach a click event for slater when clicked 
// gets the next image 
var curr; 
$('.skater_large').click(function() { 
    // Get the href attribute 
    var index; 
    if(curr) 
     index = curr >= cardboard.length ? 0 ? curr; 
    else 
     curr = 0; 
    $('.skater_large').attr('src', cardboard[curr]); 
     curr++; 
}); 
+0

Я пробовал использовать эту разметку, но, похоже, это не улавливает [i] как что-либо .... –

+0

@SkipZepeda .. Проверить обновленный код –

+0

Работает отлично. Я также отмечаю, что вы использовали setTimeout. Огромное спасибо! –