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 回答