【发布时间】:2019-04-29 19:13:44
【问题描述】:
基本上,我一直在尝试各种方法并在此网站上寻找答案。由于某种原因,我的策略都不起作用。当我将鼠标悬停在具有“top”类的链接上时,我想让“topb”部分中的段落出现,然后在我离开时消失。但是,我不能让 div 甚至出现在鼠标悬停上。有什么建议?谢谢。
var num1 = document.getElementByClassName("top");
num1.onmouseover(function() {
var changeIt = getElementByClassName("topb");
if (changeIt.style.visibility === "hidden") {
changeIt.style.visibility = "visible";
}else {
changeIt.style.visibility = "hidden";
});
.topb {
position:absolute;
top:140px;
left:420px;
color:black;
border:2px solid black;
padding-left:10px;
padding-right:10px;
visibility:hidden;
}
<ul class = "sidebar">
<li> <a class="top" href= "filename.html"> A </a>`enter code </li>
<li> <a class="second" href= "filename.html"> B </a> </li>
<li> <a class="third" href= "filename.html"> C </a></li>
<li> <a class="fourth" href= "filename.html"> D </a></li>
<li> <a class="bottom" href= "filename.html"> E </a></li>
</ul>
<div class="topb">
<p> sample of application here </p>
</div>
【问题讨论】:
-
您查看过错误控制台吗?您的 javascript 中存在语法和其他错误。
-
不,我没有,你是怎么做到的?我需要下载解释器吗?
-
我找到了一个并将其修复为: var num1 = document.getElementByClassName("top"); num1.onmouseover(function() { var changeIt = getElementByClassName("topb"); if (changeIt.style.visibility === "hidden") { changeIt.style.visibility = "visible"; }else { changeIt.style.可见性 = "隐藏"; }});
-
几乎所有浏览器都有一个显示错误的开发者控制台。谷歌会帮助你。
-
getElementByClassName不存在。正确的语法是getElementsByClassName,它会返回一个HTMLCollection,所以正确的语法是var num1 = document.getElementsByClassName('top')[0]。与changeIt相同。然后你必须在num1上绑定一个onmouseout事件来处理隐藏
标签: javascript html css