本文介绍一种常见的网页菜单交互效果,通过JavaScript与CSS配合实现鼠标悬停时下方对应内容的动态切换。代码结构清晰,JS部分可独立封装为文件引入,已在IE、Firefox等主流浏览器中测试通过,适合前端开发参考。
JavaScript与CSS实现鼠标悬停切换内容效果
本文通过具体实例,展示了如何使用JavaScript实现鼠标悬停后下方对应内容切换的交互效果,供读者参考学习。
这是一种常见的网页菜单交互形式,当鼠标移入时,相关区域的内容会随之切换,通常采用图文结合的布局。技术实现上,依赖JavaScript与CSS的协同工作。代码中的JS逻辑可以单独提取并保存为独立的JS文件,再通过脚本标签引入页面,从而保持主页面代码的简洁性。该效果已在IE、Firefox等浏览器中验证可用。
实际运行效果如下图所示:

具体实现代码如下:
<html>
<head>
<title>鼠标放上后下面的内容切换</title>
<style type="text/css">
*{margin:0;padding:0;}
a:link,a:visited{text-decoration:none;}
a:hover{text-decoration:none;}
ul{list-style:none;}
.menuA{background:#333;float:left;padding-top:2px;width:100%;}
.menuA li{float:left;}
.menuA li a{display:block;float:left;color:#fff;height:25px;line-height:25px;padding:0 5px;margin-left:2px;}
.menuA .check a {background:#fff;color:#000;}
.menuB{clear:both;border:2px solid #000;border-top:none;background:#fff;}
.menuB ul{display:none;padding:15px;line-height:180%;}
</style>
</head>
<body>
<div class="menuA">
<ul>
<li class="check"><a href="#">国际时事</a></li>
<li><a href="#">精美壁纸</a></li>
<li><a href="#">大国关系</a></li>
<li><a href="#">欧美风情</a></li>
</ul>
</div>
<div class="menuB">
<ul style="display:block;" class="one">
<li><a href="#">国际时事</a></li>
</ul>
<ul class="one">
<li><a href="#">精美壁纸</a></li>
</ul>
<ul class="one">
<li><a href="#">大国关系</a></li>
</ul>
<ul class="one">
<li><a href="#">欧美风情</a></li>
</ul>
</div>
<script>
function $_class(name){
var elements = document.getElementsByTagName("*");
for(s=0;s<elements.length;s++){
if(elements[s].className==name){
return elements[s];
}
}
}
var tabList = $_class("menuA").getElementsByTagName("li")
tabCon = $_class("menuB").getElementsByTagName("ul");
for(i=0;i<tabList.length;i++){
(function(){
var t = i;
tabList[t].onmouseover = function(){
for(o=0;o<tabCon.length;o++){
tabCon[o].style.display = "none";
tabList[o].className = "";
if(t==o){
this.className = "check";
tabCon[o].style.display = "block";
}
}
}
})()
}
</script>
</body>
</html>
希望本文提供的代码示例能对读者的JavaScript编程实践有所帮助。