Зацикливание JavaScript?
Я новичок в js
, а также jquery
и я пытаюсь добавить и отпустить элементы списка. Я использую плагин цикла jQuery (с определениями переходов). Работает просто отлично, но мне нужно это зациклить. Я уверен, что это что-то простое. Однако я не могу найти ответ.:(
<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>
3 ответа
Решение
$(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
Ссылка тоже: наслаждайтесь!
Попробуй это:
<p id=elem>Here is some text</p>
<script>
var iv = setInterval(function() {$("#elem").fadeIn(400).fadeOut(400);},2000);
</script>
setInterval будет продолжать выполняться до тех пор, пока вы не попросите его остановить. Функция будет появляться и исчезать каждые несколько секунд. Там скрипка
Как насчет проверки, является ли текущий активный элемент списка последним? Если это так, вернитесь к первому, вот так:
if($("li:last").next().length === 0( {
$("li:last").fadeOut();
InOut( $("#newsticker li:first") );
}
Я сделал нечто подобное, чтобы прокрутить список миниатюр в виде макета слайд-шоу jsFiddle.