setAttribute("data-index",m)总数报错误,再就是二级菜单关联不上?
来源:5-3 二级菜单展开效果
小太阳哦
2019-08-31 21:27:40
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="main" id="main"> <div class="meau-box" ></div> <!--子菜单--> <div class="sub-meau hide" id="sub-meau"> <!--手机,配件--> <div class="inner-box"> <div class="sub-inner-box"> <div class="title">手机、配件</div> <div class="sub-row"> <span class="blod mr10">手机通讯:</span> <a href="#">手机</a> <span class="mr10 ml10">/</span> <a href="#">手机维修</a> <span class="mr10 ml10">/</span> <a href="#">以旧换新</a> </div> <div class="sub-row"> <span class="blod mr10">手机配件:</span> <a href="#">手机壳</a> <span class="mr10 ml10">/</span> <a href="#">手机存储卡</a> <span class="mr10 ml10">/</span> <a href="#">数据线</a> <span class="mr10 ml10">/</span> <a href="#">充电器</a> <span class="mr10 ml10">/</span> <a href="#">电池</a> </div> <div class="sub-row"> <span class="blod mr10">运 营 商:</span> <a href="#">中国联通</a> <span class="mr10 ml10">/</span> <a href="#">中国移动</a> <span class="mr10 ml10">/</span> <a href="#">中国电信</a> </div> <div class="sub-row"> <span class="blod mr10">智能设备:</span> <a href="#">智能手环</a> <span class="mr10 ml10">/</span> <a href="#">智能家居</a> <span class="mr10 ml10">/</span> <a href="#">智能手表</a> <span class="mr10 ml10">/</span> <a href="#">其他配件</a> </div> <div class="sub-row"> <span class="blod mr10">娱 乐: </span> <a href="#">耳机</a> <span class="mr10 ml10">/</span> <a href="#">音响</a> <span class="mr10 ml10">/</span> <a href="#">收音机</a> <span class="mr10 ml10">/</span> <a href="#">麦克风</a> </div> </div> </div> <!--电脑--> <div class="inner-box"> <div class="sub-inner-box"> <div class="title">电脑</div> <div class="sub-row"> <span class="bold mr10">电脑:</span> <a href="">笔记本</a> <span class="ml10 mr10">/</span> <a href="">平板</a> <span class="ml10 mr10">/</span> <a href="">一体机</a> </div> <div class="sub-row"> <span class="bold mr10">电脑配件:</span> <a href="">显示器</a> <span class="ml10 mr10">/</span> <a href="">CPU</a> <span class="ml10 mr10">/</span> <a href="">主板</a> <span class="ml10 mr10">/</span> <a href="">硬盘</a> <span class="ml10 mr10">/</span> <a href="">电源</a> <span class="ml10 mr10">/</span> <a href="">显卡</a> <span class="ml10 mr10">/</span> <a href="">其他配件</a> </div> <div class="sub-row"> <span class="bold mr10">游戏设备:</span> <a href="">游戏机</a> <span class="ml10 mr10">/</span> <a href="">耳机</a> <span class="ml10 mr10">/</span> <a href="">游戏软件</a> </div> <div class="sub-row"> <span class="bold mr10">网络产品:</span> <a href="">路由器</a> <span class="ml10 mr10">/</span> <a href="">网络机顶盒</a> <span class="ml10 mr10">/</span> <a href="">交换机</a> <span class="ml10 mr10">/</span> <a href="">存储卡</a> <span class="ml10 mr10">/</span> <a href="">网卡</a> </div> <div class="sub-row"> <span class="bold mr10">外部产品:</span> <a href="">鼠标</a> <span class="ml10 mr10">/</span> <a href="">键盘</a> <span class="ml10 mr10">/</span> <a href="">U盘</a> <span class="ml10 mr10">/</span> <a href="">移动硬盘</a> <span class="ml10 mr10">/</span> <a href="">鼠标垫</a> <span class="ml10 mr10">/</span> <a href="">电脑清洁</a> </div> </div> </div> <!--家用电器--> <div class="inner-box"> <div class="sub-inner-box"> <div class="title">家用电器</div> <div class="sub-row"> <span class="bold mr10">电视:</span> <a href="">国产品牌</a> <span class="ml10 mr10">/</span> <a href="">韩国品牌</a> <span class="ml10 mr10">/</span> <a href="">欧美品牌</a> </div> <div class="sub-row"> <span class="bold mr10">空调:</span> <a href="">显示器</a> <span class="ml10 mr10">/</span> <a href="">柜式</a> <span class="ml10 mr10">/</span> <a href="">中央</a> <span class="ml10 mr10">/</span> <a href="">壁挂式</a> </div> <div class="sub-row"> <span class="bold mr10">冰箱:</span> <a href="">多门</a> <span class="ml10 mr10">/</span> <a href="">对开门</a> <span class="ml10 mr10">/</span> <a href="">三门</a> <span class="ml10 mr10">/</span> <a href="">双门</a> </div> <div class="sub-row"> <span class="bold mr10">洗衣机:</span> <a href="">滚筒式洗衣机</a> <span class="ml10 mr10">/</span> <a href="">迷你洗衣机</a> <span class="ml10 mr10">/</span> <a href="">洗烘一体机</a> </div> <div class="sub-row"> <span class="bold mr10">厨房电器:</span> <a href="">油烟机</a> <span class="ml10 mr10">/</span> <a href="">洗碗机</a> <span class="ml10 mr10">/</span> <a href="">燃气灶</a> </div> </div> </div> <!--家用配件--> <div class="inner-box"> <div class="sub-inner-box"> <div class="title">家具</div> <div class="sub-row"> <span class="bold mr10">家纺:</span> <a href="">被子</a> <span class="ml10 mr10">/</span> <a href="">枕头</a> <span class="ml10 mr10">/</span> <a href="">四件套</a> <span class="ml10 mr10">/</span> <a href="">床垫</a> </div> <div class="sub-row"> <span class="bold mr10">灯具:</span> <a href="">台灯</a> <span class="ml10 mr10">/</span> <a href="">顶灯</a> <span class="ml10 mr10">/</span> <a href="">节能灯</a> <span class="ml10 mr10">/</span> <a href="">应急灯</a> </div> <div class="sub-row"> <span class="bold mr10">厨具:</span> <a href="">烹饪锅具</a> <span class="ml10 mr10">/</span> <a href="">餐具</a> <span class="ml10 mr10">/</span> <a href="">菜板刀具</a> </div> <div class="sub-row"> <span class="bold mr10">家装:</span> <a href="">地毯</a> <span class="ml10 mr10">/</span> <a href="">沙发垫套</a> <span class="ml10 mr10">/</span> <a href="">装饰字画</a> <span class="ml10 mr10">/</span> <a href="">照片墙</a> <span class="ml10 mr10">/</span> <a href="">窗帘</a> </div> <div class="sub-row"> <span class="bold mr10">生活日用:</span> <a href="">收纳用品</a> <span class="ml10 mr10">/</span> <a href="">浴室用品</a> <span class="ml10 mr10">/</span> <a href="">雨伞雨衣</a> </div> </div> </div> </div> <!--主菜单--> <div class="meau-content" id="meau-content"> <div class="meau-item"> <a href="#"> <span>手机,配件</span> <i></i> </a> </div> <div class="meau-item"> <a href="#"> <span>电脑</span> <i></i> </a> </div> <div class="meau-item"> <a href="#"> <span>家用电器</span> <i></i> </a> </div> <div class="meau-item"> <a href="#"> <span>家用配件</span> <i></i> </a> </div> </div> <!--图片轮播--> <div class="banner" id="banner"> <a href="#"><div class="banner-slide slide1 slide-active"></div></a> <a href="#"><div class="banner-slide slide2"></div></a> <a href="#"><div class="banner-slide slide3"></div></a> </div> <!--上一张,下一张按钮--> <a href="javascript:void(0)" class="button prev" id="prev"></a> <a href="javascript:void(0)" class="button next" id="next"></a> <div class="dots" id="dots"> <span class="active"></span> <span></span> <span></span> </div> </div> <script type="text/javascript" src="js/script.js"></script> </body> </html>
*{
margin: 0px;
padding: 0px;
}
@font-face{
font-family: 'iconfont';
src: url('../img/font/iconfont.eot');
src: url('../img/font/iconfont.eot') format('embedded-opentype'),
url('../img/font/iconfont.woff') format('woff'),
url('../img/font/iconfont.ttf') format('truetype'),
url('../img/font/iconfont.svg#iconfont') format('svg');
}
body{
font-family: "微软雅黑";
color: #14191e;
}
.main{
position: relative;
width: 1200px;
height: 460px;
margin:30px auto;
overflow: hidden;
}
/*导航菜单*/
.meau-box{
width: 244px;
height: 466px;
top: 0;
left: 0;
position: absolute;
z-index: 1;
background:rgba(7, 17, 27, 0.5);
opacity: 0.5;
}
.meau-content{
width: 244px;
height: 466px;
top: 0;
left: 0;
z-index: 2;
position: absolute;
margin-top: 6px;
}
.meau-item{
width: 100%;
height: 64px;
line-height: 66px;
position: relative;
cursor: pointer;
}
a{
text-decoration: none;
}
.meau-item a{
display: block;
color: #fff;
padding:0 8px;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
font-size: 16px;
opacity: 0.8;
margin:0px 24px;
}
.meau-item a:hover{
color:#fff;
}
.meau-item:hover{
background:rgba(0,0,0,0.1);
}
.banner{
position: relative;
width: 1200px;
height: 460px;
float: left;
overflow: hidden;
}
.banner-slide{
position: absolute;
width:1200px;
height:460px;
background-repeat:no-repeat;
display: none;
}
.slide-active{
display: block;
}
.slide1{
background-image: url(../img/bg1.jpg);
}
.slide2{
background-image: url(../img/bg2.jpg);
}
.slide3{
background-image: url(../img/bg3.jpg);
}
.button{
position: absolute;
transform: rotate(180deg);
top: 45%;
left: 244px;
width: 40px;
height: 80px;
background: url(../img/arrow.png) center center no-repeat;
}
.next{
transform: rotate(0deg);
left:auto;
right: 0px;
}
.button:hover{
background-color: #333;
opacity: 0.8;
filter: alpha(opacity=80);
}
.dots{
position: absolute;
right: 0;
text-align: right;
bottom: 24px;
margin-right: 12px;
}
.dots span{
width: 12px;
height: 12px;
background-color: rgba(7, 17, 27, 0.4);
display: inline-block;
border-radius: 50%;
margin-right: 12px;
/*将鼠标指针变成手的模样*/
cursor: pointer;
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8) inset;
}
.dots .active{
background-color: rgba(255, 255, 255, 0.8);
box-shadow: 0 0 0 2px rgba(7, 17, 27, 0.4) inset;
}
.meau-item i{
right: 15px;
top: 2px;
font-size: 24px;
position: absolute;
font-family: 'iconfont';
font-style: normal;
font-weight: normal;
color: rgb(255,255,255,0.5);
}
.sub-meau{
width: 730px;
height: 458px;
border: 1px solid #d9dde1;
background: #fff;
position: absolute;
top: 0px;
left: 244px;
z-index: 3;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1);
}
.inner-box{
width: 100%;
height: 100%;
background-image: url(../img/fe.png);
background-repeat: no-repeat;
display:none;
}
.sub-inner-box{
width: 625px;
overflow: hidden;
margin-left: 40px;
display: none;
}
.title{
color: #f01414;
font-size: 16px;
line-height: 16px;
margin:28px 0 30px 0;
font-weight: bold;
}
.blod{
font-weight: bold;
font-size: 16px;
}
.mr10{
margin-right: 10px;
}
.ml10{
margin-left: 10px;
}
.sub-row{
margin-bottom:26px;
}
.hide{
display: none;
}var timer=null,
index=0,
pics = byId("banner").getElementsByTagName("div"),
len=pics.length,
dots=byId("dots").getElementsByTagName("span"),
prev=byId("prev"),
next=byId("next"),
meau=byId("meau-content"),
meauItems=meau.getElementsByClassName("meau-item"),
submeau=byId("sub-meau"),
innerBok=submeau.getElementsByClassName("inner-box");
//封装一个代替document.getElementById("")的方法;
function byId(id) {
return typeof(id)==="string"?document.getElementById(id):id;
}
function slideImg()
{
var main=byId("main");
var banner=byId("banner");
// 滑过清除定时器,离开继续
main.onmouseover=function()
{
//滑过清除定时器
if (timer) clearInterval(timer);
}
main.onmouseout=function()
{
//离开继续
timer=setInterval(function()
{
index++;
if (index>=len)
{
index=0;
}
changInt();
},3000) ;
}
//自动在main上触发鼠标离开的事件
main.onmouseout();
//遍历所有点击事件,且绑定点击事件,点击圆点切换图片
for (var i=0; i <len; i++) {
//给所有的span添加一个ID属性值为i
dots[i].id=i;
dots[i].onclick=function()
{
//改变index的值为当前的span id值
index=this.id;
//调用changInt()函数,切换图片
changInt();
}
}
//上一张
prev.onclick=function()
{
index--;
if (index<0)
{
index=len-1;
}
changInt();
}
//下一张
next.onclick=function(){
index++;
if (index>=len)
{
index=0;
}
changInt();
}
for (var m =0; m <= meauItems.length; m++) {
//这一行代码总是报错
meauItems[m].setAttribute("data-index",m);
meauItems[m].onmouseover=function(){
var idx=this.getAttribute("data-index");
submeau.className="sub-meau";
//这一行代码不起用
innerBok[idx].style.display = "block";
}
}
}
//切换图片
function changInt()
{
//遍历banner下所有的div以及dost下所有的span,将div隐藏,将span清除类
for (var i = 0; i <len; i++)
{
pics[i].style.display = "none";
dots[i].className="";
}
//根据index索引找到当前的div和span,将其显示出来和设置为当前类
pics[index].style.display = "block";
dots[index].className="active";
}
slideImg();

不会出现二级菜单
1回答
好帮手慕柯南
2019-09-01
同学你好!
报错的原因是因为:同学这里的循环的限定条件写错了,同学多写了=,这里直接<就可以

子菜单不显示,同学的样式中给菜单中的内容设置了display:none;去掉就可以

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题
回答 2
回答 1