Я использовал следующий код для циклического перемещения по набору элементов.
$(this).next().show().animate({top: '25px'},250,function(){
$(this).addClass('active');
});
, но это было ограничено, так как мне нужно было добраться до конца списка элементов и повторить цикл снова, поэтомуЯ написал этот плагин:
(function($){
$.fn.extend({
rotater: function(class_check){
return this.each(function(){
if($(this).next().hasClass(class_check)){
return $(this).next();
} else {
return $(this).parent().children().first();
}
});
}
});
})(jQuery);
Чтобы определить, когда я достиг конца желаемого набора (у всех из которых есть общий класс), и если это так, возьмите первый объект, в котором можно начать всецикл снова.
Я изменил код вызова на:
$(this).rotater('common_class').show().animate({top: '25px'},250,function(){
$(this).addClass('active');
});
, но он перестал работать полностью !!Я запутался, я мог понять, если мой сценарий «возврата к началу» не удался, но по крайней мере первый цикл должен вести себя точно так же, как next()
, потому что я буквально возвращаю значение next()
.
Мой HTML выглядит так:
<div id="parent>
<div class="common_class"></div>
<div class="common_class"></div>
<div class="common_class"></div>
<div class="common_class"></div>
<div class="undesired_elemement"></div>
</div>