Jquery / Draggable /后台窗口到鼠标单击前景如何?

时间:2011-03-02 13:11:49

标签: jquery jquery-ui draggable

我使用stack选项通过拖动将背景窗口移到前台。但我很累 当我想通过点击获得前景窗口时。我无法弄清楚如何获得最大的z-index。

编辑:

$('.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);
});

1 个答案:

答案 0 :(得分: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/

希望有所帮助!