2013-09-18 2 views
0

У меня есть неупорядоченный список с несколькими вложенными неупорядоченными списками. Я пытаюсь анимировать несколько вложенных <ul></ul> независимо от случайной позиции в содержащем div. У меня есть случайная позиция, но она дает эту позицию каждому вложенному <ul></ul>, а не дает каждому из них собственную случайную позицию. В HTML ниже я пытаюсь дать каждому классу mapStart-second свою собственную уникальную случайную позицию, и в этом случае они оба получат ту же позицию.Анимация элементов с одинаковым классом Независимо

Пример HTML

<ul id="mapStart"> 

    <li id="mapStart-first"> 

     <ul class="mapStart-second"> 
      <li></li> 
     </ul> 

     <ul class="mapStart-second"> 
      <li></li> 
     </ul> 

    </li> 

</ul> 

JS/JQuery

jQuery('#mapStart-first').one('mouseenter', function() { 
    jQuery(this).find('.mapStart-second').fadeIn('slow').animate({ 
     top: Math.floor((Math.random()*aw_positionY)), 
     left: Math.floor((Math.random()*aw_positionX)), 
    });  
}); 

Переменные aw_positionsX и aw_positionY также быть динамически установлено и работает правильно.

+0

Сразу я могу видеть, что 'JQuery («# mapStart-первых») один. ('mouseenter', function() {' должно быть ' jQuery ('# mapStart-first'). on ('mouseenter', function() {' – inorganik

+1

@inorganik' one' - это функция jQuery, которая присоединяет событие слушатель должен запускаться только один раз (первый указатель мыши). Я предполагаю, что это предназначено. – bfavaretto

+0

Да, это было предназначено. Я только хочу, чтобы это произошло один раз. – AndyWarren

ответ

2

Вам нужен цикл, или вы будете проездом одинаковые случайные значения для каждой анимации:

jQuery('#mapStart-first').one('mouseenter', function() { 
    jQuery(this).find('.mapStart-second').fadeIn('slow').each(function() { 
     $(this).animate({ 
      top: Math.floor((Math.random()*aw_positionY)), 
      left: Math.floor((Math.random()*aw_positionX)), 
     }); 
    }); 
}); 
+0

Я пробовал разные варианты с '.each()', но не смог заставить его работать. Я попробую. – AndyWarren

+0

Работал как шарм. Спасибо, и ответ принят. – AndyWarren

+0

Добро пожаловать! – bfavaretto

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