わかりました、ついにこれの底に達しました。ユーザーのクリック数が切り替わりました。ディビジョンが開きます。ユーザーは div を離れます。700ミリ秒待ってから閉じます。ユーザーが閉じるのを中断すると、再び開きます。ユーザーが中断しない場合は、リセットされます。
注意。.delay()
うまくいかない.animate()
ので複雑になりますが、これを行う簡単な方法があると確信しています。
openme
また、同じアニメーション行を 2 回 (マウスオーバーで 1 回、ボタンのクリックで 1 回) 書き込まないようにカスタム イベントをバインドしたことにも注意してください。
ワーキングデモ
$('#btn_panel').click(function(event){
$(".logo").trigger('openme');
});
$('.logo').on('openme', function(){
$(this).stop().animate({top: 0}, 700);
}).on('mouseenter', function(){
clearTimeout($(this).to);
if (parseInt($(this).css('top'))>-65){
$(this).trigger('openme');
}
}).on('mouseleave', function(){
var el=$(this);
$(this).to=setTimeout(function(){
el.animate({top: -65}, 700);
},700);
});