Перемещение ящика наверх (z-index) - PullRequest
0 голосов
/ 03 января 2012

У меня есть приложение, которое работает как виртуальный рабочий стол, с панелью инструментов с иконками, которые можно нажимать.При щелчке по значку открывается окно, похожее на окно (создается динамически) с различным содержимым, касающимся того, по какому значку был нажат.

С помощью функции с именем «moveOnTop ()» (см. Ниже), которая вызывается при получении окнасозданное событие клика привязано к этому окну.Если открыто несколько окон, и пользователь щелкает окно, упорядоченное за другим окном, то окно, по которому щелкнули, перемещается наверх.

Теперь к проблеме ...

При нажатии на одно иззначков, открывается окно, показывающее набор миниатюрных изображений, и при нажатии на одну из миниатюр открывается новое окно с этим конкретным изображением.Это окно с изображением должно быть перемещено вверх, но этого не происходит из-за того, что событие click в поле миниатюр, по которому щелкнули, запускается после создания окна с изображением, что приводит к тому, что это окно перемещается вверх.

Я не знал, как объяснить проблему другими словами, и я надеюсь, что вы понимаете, что я имею в виду.Я действительно ценю помощь здесь, потому что я боролся с этой проблемой в течение многих часов, спасибо.

Windows.prototype.buildWindow = function(){

    // a function that created the boxes

    Windows.prototype.moveOnTop();
}

Windows.openedImg = function(){

    // a function that creates the box with the clicked image

    var thisWindow = $(this);
Windows.prototype.getZindex(thisWindow);
}

Windows.prototype.moveOnTop = function(){

var boxes = $('.window');

    boxes.click(function() {

        var thisWindow = $(this);
        Windows.prototype.getZindex(thisWindow);
    });
}

Windows.prototype.getZindex = function(thisWindow){

var boxes = $('.window');
var maxZindex = 0;

    boxes.each(function() {

        var zIndex = parseInt($(this).css('z-index'), 10);
        maxZindex = Math.max(maxZindex, zIndex);
    });

thisWindow.css("z-index", maxZindex + 1);
}

1 Ответ

0 голосов
/ 03 января 2012

Html:

<img onclick="openWindow(true)" ... />

Javascript:

function openWindow(doNotGoToTop) {
    ... //open window
    if (!doNotGoToTop) {
        ... //go to top
    }
}
...