0

xmenu-toggleクリックすると左ボタン側にメニューが表示される要素にクラスを割り当てたいと思います。以下を試してみましたが、連続してクリックするとメニューの位置が変わります。どうしたの?

    $('.xmenu-toggle').click(function (event) {
        event.stopPropagation();
        var pos=$(this).offset();
        $(this).siblings('.xmenu').offset({top:pos.top+10,left:pos.left+10}).toggle();
    }) 

HTML:

<div class="xmenu-toggle">Click me!</div>
<div class="xmenu">I am the menu, I have relative position</div> 
4

1 に答える 1

1

の配置に関係しているようです.toggle()。の前に移動した.offset()ところ、一貫して同じ場所に表示されました。

 $('.xmenu-toggle').click(function (event) {
     var offset = $(this).offset();

     $(this).parent().find('.xmenu').toggle().offset({
         top: offset.top + 10,
         left: offset.left + 10
     });

 });

jsFiddle デモ

于 2013-07-23T10:17:33.150 に答える