javascript - DIV 显示/隐藏代码有问题吗?

标签 javascript html hide show

下面的代码允许当用户将鼠标悬停在链接上时显示 div。问题是,当用户滚下链接时,div 不会消失。无论如何,我们是否可以做到这一点,以便当用户滚动链接时 div 消失,但用户仍然能够将光标向下并与 div 中的项目交互......任何帮助将不胜感激。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type='text/javascript'> 
 /* <![CDATA[ */ 
document.getElementsByClassName = function(){ 
    if(arguments.length == 1) 
    arguments[1]='*'; 
  var retnode = []; 
  var myclass = new RegExp('\\b'+arguments[0]+'\\b'); 
  var elem = this.getElementsByTagName(arguments[1]); 
  for(var i = 0; i < elem.length; i++){ 
    var classes = elem[i].className; 
    if(myclass.test(classes)) 
      retnode.push(elem[i]); 
  }; 
  return retnode; 
}; 
window.onload=function(){ 
  var x = document.getElementsByClassName('HoverMe', 'a'); 
  for(var i = 0; i < x.length; i++){ 
    x[i].onmouseover=function(){ 
      var m = document.getElementsByClassName('HoverMe', 'a'); 
      var n = document.getElementsByClassName('showMe', 'div'); 
      for(var i = 0; i<m.length; i++){ 
        n[i].style.display = (m[i]==this)?'block':'none'; 
      }; 
    }; 
  }; 
  x = document.getElementsByClassName('showMe','div'); 
  for(var i = 0; i < x.length; i++){ 
    x[i].style.display = 'none'; 
  }; 
}; 
/* ]]> */ 
</script> 

</head>

<body>
<a class='HoverMe'>link 1</a><a class='HoverMe'>link 2</a>
<div class='showMe'>stuff 1</div><div class='showMe'>stuff 2</div>
</body>
</html>

最佳答案

添加mouseout功能。在 x[i].mouseover 函数调用下添加以下代码:

x[i].onmouseout=function(){ 
  var m = document.getElementsByClassName('HoverMe', 'a'); 
  var n = document.getElementsByClassName('showMe', 'div'); 
  for(var i = 0; i<m.length; i++){ 
    n[i].style.display = 'none';
  }; 
};

在这里查看 fiddle :http://jsfiddle.net/babcN/

关于javascript - DIV 显示/隐藏代码有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11916609/

相关文章:

javascript - onchange 事件后自动选择广播。

javascript style.width 在具有过渡文档类型的 firefox 中不起作用

html - 尽管 z-index 较低,但我的绝对定位 div 覆盖了我的另一个 div

python - 使用 beautifulsoup 和 python 删除某些标签

jquery - 尝试在远程 JavaScript 加载后隐藏图像

javascript - 在knockout中调用read函数

javascript - 硬编码文件路径而不是手动输入文件

javascript - 如何引用div标签的Javascript函数来添加逗号?

java - GWT 隐藏框架

php - 使用sql从php分页系统中隐藏一些页面