2013-07-22 3 views
1

Я новичок в js и jquery, и я пытаюсь затухать элементы списка. Im, использующий плагин цикла jQuery (с определениями перехода). Его работа просто прекрасна, однако мне нужно, чтобы это было в петле. Я уверен, что это что-то простое. Однако я не могу найти ответ :(Looping javascript?

<script type="text/javascript"> 
function InOut(elem) 
{ 
    elem.delay() 
.fadeIn(400) 
.delay(5000) 
.fadeOut( 
      function(){ InOut(elem.next()); } 
     ) ; 
} 

$(function(){ 
$('#newsticker li').hide(); 
InOut($('#newsticker li:first')); 

}); 
</script> 
+0

я пытался ставить для цикла вокруг него, но это ломает его ... –

+0

Вы можете добавить свой код в jsFiddle? (с вашим HTML) – Pieter

+0

http://jsfiddle.net/B2BDc/2/ –

ответ

0
$(function(){ 

$('#newsticker li').hide(); 
InOut($('#newsticker li:first')); 

var lengthUl = $('#newsticker').children().length; 
var i = 0 
function InOut(elem) 
{ 
    elem.delay().fadeIn(100).delay(100).fadeOut(function() { 
      i++; 
      InOut(elem.next()); 
      if(i == lengthUl){ 
       InOut($('#newsticker li:first')); 
       i = 0; 
      } 
     } 
    ) ; 
} 
}); 

Просто используйте это как ваш script.

Добавлено js Fiddle Ссылка тоже: Наслаждайтесь!

http://jsfiddle.net/shubham59/xmRqG/1/

0

Попробуйте это:.

<p id=elem>Here is some text</p> 

<script> 
var iv = setInterval(function() {$("#elem").fadeIn(400).fadeOut(400);},2000); 
</script> 

setInterval будет продолжать выполнение, пока вы не попросите его, чтобы остановить функция будет исчезать и из вашего элемента каждые несколько секунд. . Там в fiddle

0

Как насчет проверки, если текущий активный элемент списка является последним Если да, то вернитесь к первому, так как:.

if($("li:last").next().length === 0({ 
    $("li:last").fadeOut(); 
    InOut($("#newsticker li:first")); 
} 

Я сделал что-то похожее, чтобы разрешить велоспорт через список миниатюр в виде макета jsFiddle slideshow.

+0

Это не будет цикл ... это не имеет значения ... –

+0

Возможно, вам придется изменить 'if ($ (" li: last ")', чтобы проверить ваш конкретный активный элемент, чтобы убедиться, что текущий активный элемент является последним в списке. В моем jsFiddle вы можете увидеть, что я добавил класс в активный элемент списка, чтобы обойти это – Matt