将框移到顶部(z-index)

时间:2012-01-03 18:51:29

标签: javascript jquery events javascript-events z-index

我有一个类似虚拟桌面的应用程序,带有可点击图标的工具栏。单击图标时,会打开(动态创建)一个窗口,其中包含有关单击哪个图标的不同内容。

使用名为“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 :(得分:0)

HTML:

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

使用Javascript:

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