在可拖动的开始和停止事件中设置z-index

时间:2011-09-29 16:06:15

标签: z-index draggable

我想用可拖动div的z-index解决这个问题。我一直将z-index设置为99999左右。但这会导致页面上其他元素出现问题。在我看来,更好的方法是在可拖动的开始和停止中设置z-index,而不是使用固定的z-index。

我有这个代码来做到这一点。

$('#id').draggable({ 
    start: function(event, ui) { 
           var $item = ui.draggable;
           $item.css("z-index","999999");
            },
    stop: function(event, ui) {  
           var $item = ui.draggable;
           $item.css("z-index","");
           } 
});

这应该在拖动开始时设置z-index,然后在拖动停止时将其设置为空字符串。但它不会这样做。可能有什么不对?

有人建议将z-index用于ui-draggable-dragging类,但这也没有解决问题。

.ui-draggable-dragging {
    z-index:9999;
}

该类是否自动应用于元素,是否必须在代码中添加?

2 个答案:

答案 0 :(得分:1)

我试图解决的问题是,拖动器没有超出容器。发生这种情况是因为溢出被​​指定溢出:隐藏。如果我删除它,代码就可以工作。

答案 1 :(得分:0)

不要将其设置为空字符串。将其设置为auto

$(function(){           // Just to make sure we're clear, this must be here.
  $('#id').draggable({ 
    start: function(event, ui) { 
      $(this).css("z-index","999999");
    }, 
    stop: function(event, ui) {  
      $(this).css("z-index","auto");
    } 
  });
});

假设其他一切正确,则应将其恢复为自然z-index