2

アニメーションを使用して基本的なドロップダウンメニューを作成しようとしていますが、マウスが離れるまでドロップダウン部分を開いたままにする方法がわからないという問題が発生しています。これを開いたままにする簡単な方法はありますか?.clickme mouseout関数はそれに応じてメニューをアンロードするため、私が持っているものが完全に間違っていることを私は知っています。

誰かがこの特定の例で助けることができれば、私は非常に感謝するでしょう。

$(document).ready(function() {

$('.clickme').mouseover(function() {
    $('#slidebox').animate({
        top: '+=160'
    }, 200, 'easeOutQuad');
});

$('.clickme').mouseout(function(){
    $('#slidebox').animate({
        top: '-=160'
    }, 200, 'easeOutQuad')
});

});

4

2 に答える 2

1

jqueryhoverIntentをチェックしてください

于 2010-04-10T00:36:28.373 に答える
1

これにより、マークアップを変更せずに作業を開始できます。

$('.clickme, #slidebox').hover(function() {
  $('#slidebox').stop().animate({ top: '30px' }, 200, 'easeOutQuad');
}, function() {
  $('#slidebox').stop().animate({ top: '-130px' }, 200, 'easeOutQuad');
});

要素は親/子に関連していないため、絶対位置をメニューに配置する方が簡単です (130pxとにかく CSS にあります)。したがって、絶対位置があるという事実を使用しない理由はありません。試してみてください。あなたのサイトに対してテストしましたが、メニューで必要な動作のようです。

于 2010-04-10T00:51:56.280 に答える