2011-03-02 91 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/

希望有所幫助!