我有一大堆'項目'div,我想在點擊時展開。如果已經有一個項目打開,我想在我滑出新項目之前隱藏它。我也想停止點擊已關閉的項目,然後再打開它。簡化我的菜單動畫代碼
這裏是我的意思的例子(警告 - 寫在瀏覽器的代碼):
$('.projects').click(function() {
var clicked_project = $(this);
if (clicked_project.is(':visible')) {
clicked_project.height(10).slideUp();
return;
}
var visible_projects = $('.projects:visible');
if (visible_projects.size() > 0) {
visible_projects.height(10).slideUp(function() {
clicked_project.slideDown();
});
} else {
clicked_project.slideDown();
}
});
真的,我的大問題是與第二部分 - 它吮吸,我不得不使用,如果/否則 - 如果沒有任何visible_projects,我應該能夠立即進行回調運行。
我認爲這將是一個非常普遍的任務,並且我確信有一個我錯過的簡化。任何建議感激!
不錯。這樣做的工作,但是有沒有什麼辦法可以在幻燈片播放完成之後才進行切換?如果我把它放在回調中,如果沒有任何可見的項目,它將不會執行。 – zaius 2010-05-04 21:13:06
回調的好處。只有拖延的問題是,即使沒有可見的兄弟姐妹,它仍然會延遲初始滑動。 – zaius 2010-05-05 00:59:20
如果有兄弟姐妹,兄弟姐妹。長度將是truthy。 – wombleton 2010-05-05 05:32:57