亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

標簽欄多出一部分,而且剛開始加載的時候,不知道為什么顯示了兩個div的內容

//js
function?getId(id)?{
	return?typeof?id?===?'string'???document.getElementById(id)?:?id;
}
window.onload?=?function?()?{
	var?titLis?=?getId('notice-title').getElementsByTagName('li');
	var?mods?=?getId('notice-content').getElementsByTagName('div');
	console.log(mods.length?+?titLis.length);
	//確保titles的個數與content個數相等
	if?(titLis.length?!=?mods.length)?return;
	for(var?i?=?0;i?<?titLis.length;?i?++)?{
		console.log(titLis[i]);
		//給每個li加上索引屬性id,方便后面的content里面的div調用
		titLis[i].id?=?i;
		//鼠標滑過時給每一個li元素加上select高亮顯示
		titLis[i].onmouseover?=?function()?{
			for(var?j?=?0;j?<?titLis.length;j?++)?{
				titLis[j].className?=?'';//添加高亮之前去除之前的高亮樣式,不然就會點一個高亮增加一個,而不是只選中一個
				mods[j].style.display?=?'none';?//全部隱藏,方便后邊mods顯示內容
			}
			this.className?=?'select';
			mods[this.id].style.display?=?'block';
		}
	}
}

//CSS
*?{
	padding:?0;
	margin:?0;
	font-size:?16px;
	list-style:?none;
	text-decoration:?none;
}
.notice?{
	width:?298px;
	height:?98px;
	border:?1px?solid?#eee;
	overflow:?hidden;
	margin:?100px?auto;
}
.notice-title?{
	background-color:?#f7f7f7;
	height:?27px;
	position:?relative;
}
.notice-title?ul?{
	width:?301px;
	left:?-1px;?//為了不讓最左邊和最右邊的tab的左邊框和右邊框與最外層的盒子的邊框重疊
	position:?absolute;
}
.notice-title?li?{
	float:?left;
	width:?58px;?//301px/5個li元素,每個li元素還要加1px的邊框
	height:?26px;
	line-height:?26px;?//要加一個底邊框,沒有高亮的時候
	color:?black;
	text-align:?center;
	border-bottom:?1px?solid?#eee;
	background-color:?#f7f7f7;
}
.notice-title?li.select?{
	background-color:?#fff;
	border-bottom-color:?#fff;
	border-left:?1px?solid?#eee;
	border-right:?1px?solid?#eee;
	font-weight:?bold;
}
.notice-title?li?a:link,.notice-title?li?a:visited?{
	color:?black;
}
.notice-title?li?a:hover?{
	color:?#f90;
}
.notice-content?.mod?{
	overflow:?hidden;
	margin:?10px?10px?10px?19px;
}

//html
<!DOCTYPE?html>
<html>
<head>
	<meta?charset="utf-8">
	<title>tab-面向過程的制作多種切換效果</title>
	<link?rel="stylesheet"?type="text/css"?href="../css/tab_process.css">
	<script?type="text/javascript"?src="../js/tab_process.js"></script>
</head>
<body>
	<!--?tab切換外層盒子?-->
	<div?class="notice">
		<div?class="notice-title"?id="notice-title">
			<ul>
				<li?class="select"><a?href="#">切換1</a></li>
				<li><a?href="#">切換2</a></li>
				<li><a?href="#">切換3</a></li>
				<li><a?href="#">切換4</a></li>
				<li><a?href="#">切換5</a></li>
			</ul>
		</div>
		<div?class="notice-content"?id="notice-content">
			<div?class="mod">1111</div>
			<div?class="mod">2222</div>
			<div?class="mod">3333</div>
			<div?class="mod">4444</div>
			<div?class="mod">5555</div>
		</div>
	</div>
</body>
</html>


正在回答

3 回答

http://img1.sycdn.imooc.com//594b84220001dd8e07800524.jpg

li元素的索引

0 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//594b838b00015be403540124.jpg

切換5的時候多出一部分背景色

0 回復 有任何疑惑可以回復我~
#1

鄢棟 提問者

關于這個問題,是因為在高亮之前(鼠標滑過之前)沒有給li元素添加1px的填充,加填充的目的是去除border屬性會改變容器大小的毛病,然后因為你加了左右1px的填充,那li的總寬度就變為62px,所以你在高亮的時候(鼠標滑過的時候,表現為.select類)去掉這個填充,也就是padding:0;這樣好一點了。但是你會發現,左邊還是會有邊框重疊的問題,原因是,你要在.notice這個外層盒子設置position:relative;然后對于你的ul設置position:absolute;這樣left:-1px;才會有效。解決了第一個內容與外層盒子邊框重疊的問題。
2017-06-22 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//594b83140001e73d03530136.jpg

http://img1.sycdn.imooc.com//594b8315000152de04100127.jpg

運行的效果

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

標簽欄多出一部分,而且剛開始加載的時候,不知道為什么顯示了兩個div的內容

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號