ページのドロップダウンなどのメニューにjqueryのfadeIn/Outを実装しました。
ホバーしないので、クリックする必要があります。理由もなく何度も何度もクリックする場合を除いて、問題なく動作します。
私が設定した方法は、クリック時にメニューバーの高さを(他のdivをフェードイン/アウトしながら)増やして、レイアウトのすべての部分の周りに4pxの境界線を視覚的に実現することです。
繰り返しクリックすると(ADDで12歳の過活動、またはすべてをダブルクリックするおばあさんと言ってください)、フォーマットが混乱する可能性があります。
これに対する解決策はありますか?
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');
}