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">运&ensp;营&ensp;商:</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">娱&nbsp; &nbsp; &nbsp; &nbsp;乐: </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>&#xe665</i>
</a>
</div>
<div class="meau-item">
<a href="#">
<span>电脑</span>
<i>&#xe665</i>
</a>
</div>
<div class="meau-item">
<a href="#">
<span>家用电器</span>
<i>&#xe665</i>
</a>
</div>
<div class="meau-item">
<a href="#">
<span>家用配件</span>
<i>&#xe665</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();

http://img.mukewang.com/climg/5d6a7599000186aa09340293.jpg

http://img.mukewang.com/climg/5d6a75b6000174ab11490477.jpg

不会出现二级菜单


写回答

1回答

好帮手慕柯南

2019-09-01

同学你好!

  1. 报错的原因是因为:同学这里的循环的限定条件写错了,同学多写了=,这里直接<就可以

    http://img.mukewang.com/climg/5d6b329c000190f905190141.jpg

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

    http://img.mukewang.com/climg/5d6b330a0001d13d04100211.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 9666 问题

查看课程