2013-09-26 126 views
0

我正在構建一個網站,該網站提供工具提示,以提供有關如何執行哪些操作以在幾秒鐘不活動後顯示的建議。事情是,在某些情況下,我不希望他們出現。關閉JavaScript函數

該網站有'彈出式窗口'(只有div標籤上的z索引被改變)。當這些標籤「在視圖中」時,我不需要工具提示。有什麼我可以做的代碼檢查,如果一個div是在一定的水平,或者插入命令不運行的工具提示代碼...

我提示腳本是

<!-- JavaScript function to show/hide prompts after innactivity--> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    var interval = 1; 
setInterval(function(){ 
    if(interval == 9){ 
     $("div.container_prompts_timeout").show(); 
     interval = 1; 
    } 
    interval = interval+1; 
    console.log(interval); 
},1000); 

$(document).bind('mousemove keypress', function() { 
    $("div.container_prompts_timeout").hide(); 
    interval = 1; 
}); 
}); 
</script> 

而且我用它來改變z-index的代碼是:

<!--Code to change z-index of background divs--> 
<script type="text/javascript"> 
function changeZIndex(i,id) { 
    document.getElementById(id).style.zIndex=i; 
} 
</script> 

非常感謝

+0

jquery ui有一個zindex()函數,它返回一個元素的zindex。您可以使用它來獲取zindex並有邏輯決定是否顯示工具提示。 – andrewb

回答

0

爲什麼不使用你的div的顯示屬性爲隱藏和顯示它們。 你可以檢查它的狀態。 喜歡的東西

var my_div = getElementById("my_div");// or use your jQuery if you wish 

function show() { 
    my_div.style.display = "block"; 
} 

function hide() { 
    my_div.style.display = "none"; 
} 

function is_shown() { 
    if (my_div.style.display == "none") return 0; 
    return 1; // use booleans if you wish, I prefer old school :) 
} 
0

你可以:如果

  • 檢查的彈窗是顯示工具提示之前「看得見」,或
  • 取消間隔時,他們變得可見,並重新啓動時,他們被隱藏

個人而言,我不會使用z-index來顯示或隱藏東西。我將他們的實際顯示樣式屬性設置爲'無'來隱藏它們。這將允許您在顯示工具提示前檢查該屬性,因爲檢查元素的z-index可能有點麻煩。