【问题标题】:Jquery Draggable + Bring to FrontJquery Draggable + 放在前面
【发布时间】:2012-09-30 21:48:28
【问题描述】:

我有一个带有多个聊天 DIV 的窗口,用户可以在其中与不同的人聊天。

目前聊天 DIV 可以打开并四处移动,但我看不到将当前选择的 DIV 设置在前面。例如:当您将鼠标放在 DIV 上时,它会进入前台。

HTML:

<div id="1000000001" class="chatMessenger">
    <div class="chatMessengerContainer">
        </div>
</div>

CSS:

div.chatMessenger {
    position: absolute;
    top: 50px;
    left: 50px;
    width: 250px;
    height: 300px;
    background-color: white;
    z-index: 100;
    border: 1px solid black;
}

查询:

    // JQUERY UI Draggable - Initialize
    $('div#'+memberID).draggable({
        containment: $('div#chatWrapper')
    });


    // JQUERY UI Draggable - Setting the Stack
    $(document).on('mousedown','div.chatMessenger', function() {
        alert('chat mouse down...');
        //var stack = $( ".selector" ).draggable( "option", "stack" );
        $(this).draggable( "option", "stack", ".products" );
    });

在 mousedown 中触发警报,因此这是找到正确的元素。

我查看了 Draggable z-index 和 stack 但我无法让任何一个工作。

会有多个聊天DIV同时打开,被选中的需要坐在最前面。

谢谢。

【问题讨论】:

    标签: jquery html css jquery-ui


    【解决方案1】:

    这应该会有所帮助

    $('div.chatMessenger').not(this).css('z-index', '100');
    $(this).css('z-index', '1000');
    

    on('mousedown') 函数内部。

    【讨论】:

      【解决方案2】:

      对于您想要将一个放在前面并将其他的重新设置到后面的几个可拖动对象:

      $('.container').on('mousedown', function(event) { 
          $('.container').css('z-index','1');
          $( this ).css('z-index','1000');
      });
      

      【讨论】:

        【解决方案3】:

        我发现最简单的实现是将 dom 中的 div 移动到最后一个位置。因此,如果您不必关心 dom 中的位置,这是不使用 z-index 的最简单方法。 我用它来定位一些便签。

        $("#chatWrapper").on('mousedown', '.chatMessenger', function() {
            $(this).appendTo("#chatWrapper");
        });
        

        【讨论】:

          【解决方案4】:

          虽然有一个选项 - 在启动可拖动项时存在“堆栈” 像这样 -

          $('.draggable').draggable({
              stack: ".draggable"
          });
          

          但它不能正常工作,所以我写了一个小库 dragToFront 玩 z-index。以下是plunkr链接

          https://embed.plnkr.co/mJqkxSJhf1Umg7r2oLQN/

          【讨论】:

          • 你的库工作起来很吸引人,但是 ctr 变量的使用使其受到限制,例如,如果有预加载的可拖动 div,你的库将无法工作
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-02
          • 1970-01-01
          • 2022-10-15
          • 1970-01-01
          • 2013-01-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多