我想開發一個帶有jQuery UI動畫的菜單來顯示不同的子菜單,我需要等待,直到切換效果來隱藏控件完成更改菜單的內容。現在我的代碼在切換效果中更改菜單的內容。 要顯示的二級菜單位於id =#secondary-menu-wrap的'div'中。在這裏面,當隱藏「#secondary-menu-wrap」的切換效果完成時(代碼的第3行),我需要更改一些'ul'whoose'li'的可見性。現在,代碼在此切換效果期間改變了「#secondary-menu-wrap」的內容(第4行在第3行的切換效果完成之前運行)。我不能等待我的代碼,直到完成在jQuery UI中的切換動畫
jQuery(document).ready(function(){
jQuery('#header-menu > li').click(function(){
jQuery('#secondary-menu-wrap').toggle('slide',{direction: 'up'}, 500);
jQuery('.secondary-menu > li').css('display','none');
switch(this.id) {
case 'menu-item-group':
jQuery('#secondary-menu_group > li').css('display','block');
break;
case 'menu-item-research':
jQuery('#secondary-menu_research > li').css('display','block');
break;
case 'menu-item-projects':
jQuery('#secondary-menu_projects > li').css('display','block');
break;
case 'menu-item-publications':
jQuery('#secondary-menu_publications > li').css('display','block');
break;
case 'menu-item-pressroom':
jQuery('#secondary-menu_pressroom > li').css('display','block');
break;
case 'menu-item-formation':
jQuery('#secondary-menu_formation > li').css('display','block');
break
}
jQuery('#secondary-menu-wrap').toggle('slide',{direction: 'up'}, 500);
});
jQuery('.T_logo').click(function(){
jQuery('.secondary-menu > li').css('display','none');
});
});
我想這兩個選項,但沒有期望的結果:
jQuery(document).ready(function(){
jQuery('#header-menu > li').click(function(){
jQuery('#secondary-menu-wrap').toggle('slide',{direction: 'up'}, 500,function(){
jQuery('.secondary-menu > li').css('display','none');
});
switch(this.id) {
case 'menu-item-group':
jQuery('#secondary-menu_group > li').css('display','block');
break;
case 'menu-item-research':
jQuery('#secondary-menu_research > li').css('display','block');
break;
case 'menu-item-projects':
jQuery('#secondary-menu_projects > li').css('display','block');
break;
case 'menu-item-publications':
jQuery('#secondary-menu_publications > li').css('display','block');
break;
case 'menu-item-pressroom':
jQuery('#secondary-menu_pressroom > li').css('display','block');
break;
case 'menu-item-formation':
jQuery('#secondary-menu_formation > li').css('display','block');
break
}
jQuery('#secondary-menu-wrap').toggle('slide',{direction: 'up'}, 500);
});
jQuery('.T_logo').click(function(){
jQuery('.secondary-menu > li').css('display','none');
});
});
和
jQuery(document).ready(function(){
jQuery('#header-menu > li').click(function(){
jQuery('#secondary-menu-wrap').toggle('slide',{direction: 'up'}, 500).promise().done(function(){
jQuery('.secondary-menu > li').css('display','none');
};
switch(this.id) {
case 'menu-item-group':
jQuery('#secondary-menu_group > li').css('display','block');
break;
case 'menu-item-research':
jQuery('#secondary-menu_research > li').css('display','block');
break;
case 'menu-item-projects':
jQuery('#secondary-menu_projects > li').css('display','block');
break;
case 'menu-item-publications':
jQuery('#secondary-menu_publications > li').css('display','block');
break;
case 'menu-item-pressroom':
jQuery('#secondary-menu_pressroom > li').css('display','block');
break;
case 'menu-item-formation':
jQuery('#secondary-menu_formation > li').css('display','block');
break
}
jQuery('#secondary-menu-wrap').toggle('slide',{direction: 'up'}, 500);
});
jQuery('.T_logo').click(function(){
jQuery('.secondary-menu > li').css('display','none');
});
});
感謝您的幫助
你能解釋一下你的問題正確,我不能明白,如果可能創建一個小提琴 – himanshu 2014-09-24 07:49:53
遺憾@himanshu。我試圖更好地解釋這個問題。 – 2014-09-24 07:56:27