2012-01-03 114 views
0

我有一個像虛擬桌面一樣工作的應用程序,帶有可點擊圖標的工具欄。當單擊圖標時,將打開一個類似框的窗口(動態創建),並顯示關於哪個圖標被點擊的不同內容。將框移動到頂部(z-index)

使用一個名爲「moveOnTop()」的函數(見下文)在窗口被創建時被調用,點擊事件被綁定到該窗口。如果打開了幾個窗口,並且用戶單擊了排在另一個窗口後面的窗口,則單擊的窗口將移動到頂部。

現在的問題...

當點擊其中一個圖標,一個盒子被打開展示了一堆縮略圖,並在其中一個縮略圖,當點擊打開一個新的窗口,其中特定圖像。該窗口與圖像應該移動到頂部,但這不會發生,因爲被點擊的縮略圖框上的點擊事件在帶有圖像的窗口被創建後被觸發,導致該窗口被移動到頂端。

我不知道如何解釋問題換句話說,我希望你能理解我的意思。我非常感謝這裏的幫助,因爲我一直在努力解決這個問題好幾個小時,謝謝。

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); 
} 
+0

相反洗牌Z-指數爲什麼不添加覆蓋z-index的幾類名。這樣,如果您刪除類名稱,它將恢復到其原始z-index。 – 2012-01-03 18:56:38

+0

得說我沒有挖你創建這個窗口對象的方式:'Windows.prototype.buildWindow','Windows.openedImg'。你用'Windows.prototype.func()調用東西;'我根本不喜歡它,先生,而不是一點。 – Chad 2012-01-03 18:58:29

+0

謝謝@Chad的建設性批評,這是非常有益的! *嘆息* – holyredbeard 2012-01-03 19:20:33

回答

0

HTML:

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

的Javascript:

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