关闭javascript函数

时间:2013-09-26 14:12:05

标签: javascript

我正在建立一个网站,其中包含工具提示,可以在几秒钟不活动后提供有关显示内容的建议。问题是,在某些情况下,我不希望它们出现。

该网站有'弹出窗口'(只是更改z索引的div标签)。当这些标签在“视野中”时,我不想要工具提示。有什么我可以做的代码来检查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>

非常感谢

2 个答案:

答案 0 :(得分:0)

为什么不使用div的display属性来隐藏和显示它们。 你可以检查它的状态。 像

这样的东西
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 :)
}

答案 1 :(得分:0)

你可以:

  • 在显示工具提示之前检查弹出窗口是否“可见”,或
  • 取消显示的时间间隔,并在隐藏时重新启动
个人而言,我不会使用z-index来显示或隐藏内容。我会将他们的实际显示样式属性设置为'none'来隐藏它们。这将允许您在显示工具提示之前检查此属性,因为检查元素的z-index可能有点麻烦。