2011-01-05 5 views
0

Могу ли я использовать селектор: eq() с переменными? Или мне нужно использовать альтернативы .. но что я могу использовать вместо этого? Для контекста я использую галерею.JQuery - Использование: eq (clickedPos) селектор с переменной

HTML

<div id="#thumbs"> 
<ul> 
<li>Thumbnail 1</li> 
<li>Thumbnail 2</li> 
<li>Thumbnail 3</li> 
</ul> 
</div> 

<div id="#gallery"> 
<ul> 
<li>Image 1</li> <!-- User will see this 800px x 450px image --> 
<li>Image 2</li> 
<li>Image 3</li> 
</ul> 
</div> 

Псевдо Javascript (JQuery)

$('#thumbs ul li').click(function() { 
    clickedPos = $(this).index(); //saving the index number of the clicked thumbnail 
    $('#gallery ul li:eq(clickedPos)').clone().insertAfter('#gallery ul li:eq(clickedPos)'); 
    gallerywidth += 800 //gallery width grows a bit 
    $('#gallery ul').css({width: gallerywidth}); 
    $('#gallery ul').animate({right:"+=800"},250); 
}); 

Взаимодействие Пример
пользователь нажимает на уменьшенное изображение 3

HTML Результат

<div id="#thumbs"> 
<ul> 
<li>Thumbnail 1</li> 
<li>Thumbnail 2</li> 
<li>Thumbnail 3</li> 
</ul> 
</div> 

<div id="#gallery"> 
<ul> 
<li>Image 1</li> <!-- at first the user saw this image --> 
<li>Image 3</li> <!-- after scrolling 800px to the right, he now see this one --> 
<li>Image 2</li> 
<li>Image 3</li> 
</ul> 
</div> 

ответ

4

использование:

$('#gallery ul li:eq('+clickedPos+')') 

или:

$('#gallery ul li').eq(clickedPos) 
+0

Избили меня к нему! +1 –

0

Почему бы не использовать $('#gallery ul li:eq(' + clickedPos + ')')

Смежные вопросы