Jquery / Draggable / Фон окна на передний план с помощью мыши / Как? - PullRequest
0 голосов
/ 02 марта 2011

Я использую опцию стека, чтобы перетащить фоновые окна на передний план. Но я сложен когда я хочу получить окно на переднем плане, нажав. Я не мог понять, как получить самый большой z-индекс.

EDIT:

$('.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 Ответ

1 голос
/ 02 марта 2011

Я бы сделал это так же, как jQueryUI делает (к сожалению, я не смог найти способ вручную запустить этот метод):

$(".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/

Надеюсь, это поможет!

...