Php Jquery-切换,显示-需要等待下一个效果
我在我的网站上使用4个链接(子菜单按钮)。每个链接打开一个DIV标签 此DIV标记默认状态为hide。(使用jquery) 单击子菜单后,我将显示()我需要的div标记:Php Jquery-切换,显示-需要等待下一个效果,php,jquery,Php,Jquery,我在我的网站上使用4个链接(子菜单按钮)。每个链接打开一个DIV标签 此DIV标记默认状态为hide。(使用jquery) 单击子菜单后,我将显示()我需要的div标记: $('a#submenu_1').click( function() { $('div[class*="my_"]').hide(); // hide all DIV if some of them opened before $('div.my_submenu_1').toggle('slo
$('a#submenu_1').click( function() {
$('div[class*="my_"]').hide(); // hide all DIV if some of them opened before
$('div.my_submenu_1').toggle('slow');
});
这是很好的工作,直到我耐心地等待隐藏,如果其他DIV打开之前。但是,如果在子菜单之间单击过快,那么有时候jquery在显示新菜单之前无法隐藏div标记
我的朋友,我用了一些药。。等等
你能给我提个建议吗 我同意@Ghommey的说法,但您可能还希望将该节目作为要隐藏的回调()的一部分,这样您就知道所有其他节目都是先隐藏的
$('div[class^="my_"]').stop().hide(0,function() {
$('div.my_submenu_1').show('slow');
});
请注意,您可能可以更一般地重写它
$('a.menu').click( function() {
var menuID = $(this).attr('href');
$('div.menu').stop().hide(0,function() {
$(menuID).show('slow');
});
return false;
});
您的HTML看起来像:
<a href="#my_menu_1" class="menu">Menu 1</a>
<a href="#my_menu_2" class="menu">Menu 2</a>
...
<div id="my_menu_1" class="menu">...</div>
<div id="my_menu_2" class="menu">...</div>
...
...
...
这样做的好处是,如果javascript被关闭,链接就可以正常工作。如果您快速单击,会出现问题,不是吗?此外,
.stop().hide()代码>是实例我正在使用stop().hide()--只是我把这个节目放到了回调中,这样它就不会运行,除非动画(hide)完成……除非你是说“正常”速度。我已将其更改为使用一个数字值(0)——该值应尽可能快。这有问题。链接之间快速切换,显示功能冻结,仅显示部分div。。。
<a href="#my_menu_1" class="menu">Menu 1</a>
<a href="#my_menu_2" class="menu">Menu 2</a>
...
<div id="my_menu_1" class="menu">...</div>
<div id="my_menu_2" class="menu">...</div>