Довольно простые JQuery Animation-очереди, хотя и не работают
Итак, у меня появилась отличная (?) Идея создать собственную систему табуляции, поскольку ни один из скриптов, которые я пробовал, не работал так, как я надеялся.
У меня есть список со ссылками, и пара div, которые скрыты для начала. Нажмите LI, и любой видимый разделитель будет скрыт, после чего выбранная ссылка / разделение появится.
HTML
<ul>
<li id="tab1">Link</li>
<li id="tab2">Link</li>
<li id="tab3">Link</li>
</ul>
<div id="tab1div">Content</div>
<div id="tab2div">Content</div>
<div id="tab3div">Content</div>
JS
$('li').click(function(){
$('div:visible').fadeOut(1000)
.queue(function () {
var id = $(this).attr('id');
$('div#' + id + "div").fadeIn('slow');
$(this).dequeue();
});
});
Теперь проблема с анимацией (кроме сценария не работает). Я стремлюсь к fadeOut("быстрый") для любого видимого DIV, затем к fadeIn("медленный") для выбранного li/div. В очереди, то есть.
Какие-нибудь мысли?
1 ответ
Решение
jQuery fadeOut может иметь два параметра, вторым является функция, вызываемая после завершения анимации, так что это, вероятно, то, что вам нужно:
$('li').click(function(){
var id = $(this).attr('id');
$('div:visible').fadeOut(1000, function () {
$('#' + id + "div").fadeIn('slow');
});
});