我为页面上的下拉菜单实现了 jquery 的淡入/淡出。
它不是悬停的,因此需要单击。它工作正常,没有问题,除了当你无缘无故地反复点击该东西时。
我设置它的方式是在单击时增加菜单栏的高度(同时淡入/淡出另一个 div),以在我的布局的所有部分周围视觉上实现 4px 边框。
如果您反复单击(假设您是一个过度活跃的 12 岁 ADD,或者一个双击所有内容的老妇人),格式可能会变得混乱。
有什么解决办法吗?
HTML:
<a class="springtrail_link stadd" href="#" id="add" data-hidden="1" data-lastid="<?php echo $lastid ?>">Change Category</a>
JS:
$('.stadd').live('click', function(){
var hidden = $(this).data('hidden')
var lastid = $(this).data("lastid");
var divid = "#suggested";
if (hidden == 0)
{
hide(divid)
$('.stadd').data('hidden', '1');
} else
{
buildsuggested(lastid);
show(divid);
$('.stadd').data('hidden', '0');
}
});
function show(divid) {
$(divid).slideDown('fast');
var stheight = $('#springtrail').height();
var pxheight = stheight + 4;
$('#springtrail').animate({height: pxheight+'px'});
$('#springtrail').css( 'border-bottom-left-radius' , '0px');
$('#springtrail').css( 'border-bottom-right-radius' , '0px');
}
function hide(divid) {
$(divid).fadeOut('fast');
var stheight = $('#springtrail').height();
var pxheight = stheight - 4;
$('#springtrail').animate({height: pxheight+'px'});
$('#springtrail').css( 'border-bottom-left-radius' , '4px');
$('#springtrail').css( 'border-bottom-right-radius' , '4px');
}