【问题标题】:Need assistance wiht jquery draggable z-index issue需要有关 jquery 可拖动 z-index 问题的帮助
【发布时间】:2016-01-15 17:09:41
【问题描述】:

下面的代码运行良好,因此当拖动一个块时,它位于其他块的顶部。但是,我不确定要添加什么,以便当用户放下盒子时,z-index 会更新并且盒子仍然在顶部。现在,当盒子被放下时,它会在其他盒子下面,保留它原来的 z-index。我确实看到了这个(// Setter $( ".selector" ).draggable( "option", "zIndex", 100 );) 在 API 文档中,只是不确定它应该如何集成到我下面的工作代码中。感谢您的任何想法!

$(function(){
    var positions = JSON.parse(localStorage.positions || "{}");
    $(function () {
        var d = $("[id=draggable]").attr("id", function (i) {
            return "draggable_" + i
        })
        $.each(positions, function (id, pos) {
            $("#" + id).css(pos);
        })

        d.draggable({
            containment: "#containment-wrapper",
            zIndex: 100,
            scroll: false,
            stop: function (event, ui) {
                positions[this.id] = ui.position
                localStorage.positions = JSON.stringify(positions)
            }
        });
    });
});

【问题讨论】:

    标签: jquery jquery-ui z-index draggable


    【解决方案1】:

    我看到至少两个选项:

    • 跟踪最大设置索引,每当移动一个元素时,将其索引设置为最大值 + 1,因此它在删除时始终位于顶部。

      var maxZIndex = 1; // or something else
      d.draggable({
          // ...
          start: function (event, ui) {
              maxZIndex++;
              ui.helper.zIndex(maxZIndex);
              $(event.target).zIndex(maxZIndex);
          }
          //...
      });
      
    • 如果您不只是将元素拖到某个地方,而是将其放在另一个元素上,则可以使用droppable 获取放置事件并将 z-index 设置为可放置元素的 z-index + 1。

      yourDroppables.droppable({
          // ...
          drop: function(event, ui) {
              var zIndex = $(event.target).zIndex()
              ui.draggable.zIndex(zIndex + 1);
          }
          // ...
      });
      

    【讨论】:

    • 您介意展示您提供的代码应该如何转换成我上面的代码吗?我自己尝试过,但遇到语法错误,无法正常工作。
    • 第一个版本非常接近您的要求。也许您可以将代码发布到jsfiddle.net,我可以帮助您修复语法错误。
    • 如果它解决了您的问题,请接受答案。这意味着其他人不必再看它,因为它已经解决并且我赢得了一些声誉。
    • 很高兴,只是不知道如何:)...这个网站的新手。尝试单击向上箭头,但说我还不能这样做...?
    • 点击箭头下方的勾;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多