2011-03-02 92 views
0

我使用堆栈选项通过拖动获取背景窗口到前景。但是当我想通过单击来获得前景中的窗口时,我被堆叠为 。我无法弄清楚如何获得最大的Z指数。用鼠标点击前景的Jquery/Draggable/Background窗口/ How?

编辑:

$('.drag').draggable({stack: '.drag'} 

此代码带来了前台后台div.drag,只是如果拖动它。当你点击它时,我想让背景div.drag进入前景。如果你只是点击它,它保持在背景中。

编辑2:

同时我用:

var zIndex = $('.drag').length; 
$('.drag').draggable({stack: '.drag'}, 
    stop: function() { 
     zIndex = $(this).css('z-index'); 
    } 
}).click(function(event){ 
    $(this).css('z-index', ++zIndex); 
}); 
+0

我无法理解你的问题。为了获得更好的响应,您可能需要重写它并显示一些代码。 – Matt 2011-03-02 13:20:32

回答

1

我会做到这一点,same way jQueryUI does(可惜我不能想出一个办法来手动触发此方法):

$(".drag").draggable({ 
    stack: ".drag" 
}).bind("click", function() { 
    var o = $(this).data("draggable").options; 
    var group = $.makeArray($(o.stack)).sort(function(a, b) { 
     return (parseInt($(a).css("zIndex"), 10) || 0) - (parseInt($(b).css("zIndex"), 10) || 0); 
    }); 

    if (!group.length) { 
     return; 
    } 

    var min = parseInt(group[0].style.zIndex) || 0; 
    $(group).each(function(i) { 
     this.style.zIndex = min + i; 
    }); 

    this.style.zIndex = min + group.length; 
}); 

下面是一个工作示例:http://jsfiddle.net/andrewwhitaker/uYpnW/2/

希望有所帮助!