• 不断学习才有回报,学无止境!

采用jQuery对于tab选项卡的优化加强版本

箭翎 1318次浏览 0个评论 扫描二维码

html部分


<div class="tabTitle">
		<ul>
			<li class="current0">xhtml</li>
			<li>css</li>
			<li>jquery</li>
		</ul>
	</div>


	<div class="tabContent">
		<div>xhtml的内容</div>
		<div class="hide">css的内容</div>
		<div class="hide">jquery的内容</div>
	</div>

CSS部分

li{
	list-style-type: none;
}
body{
	margin: 50px;
}

.hide{
	display: none;
}

.tabTitle ul{
	overflow: hidden;
	_height:1px;
}
.tabTitle ul li{
	float: left;
	border: 1px solid #abcdef;
	border-bottom: none;
	height: 30px;
	line-height: 30px;
	padding: 0 15px;
	margin-right: 3px;
	cursor:pointer;
}

.current0{
	background: #abcdef;
	color:#fff;
}

.current1{
	background: red;
	color:teal;
}

.current2{
	background: green;
	color:yellow;
}

.tabContent div{
	border: 1px solid #f60;
	width: 300px;
	height: 250px;
	padding: 15px;
}

关键的js部分

$(function(){
	var ali = $('.tabTitle ul li');
	var aDiv = $('.tabContent div');
	var timeId = null;

	ali.mouseover(function(){

		var _this = $(this);
		//setTimeout();的作用是延迟某一段代码的执行
		timeId = setTimeout(function(){

			//$(this)方法属于哪个元素,$(this)就是指哪个元素
			_this.addClass(function(){
				return 'current'+_this.index();
			}).siblings().removeClass();


			//如果想用一组元素控制另一组元素的显示或者隐藏,需要用到索引
			var index = _this.index();

			aDiv.eq(index).show().siblings().hide();


		},300);
		
			
	}).mouseout(function(){
		//clearTimeout的作用是清除定时器
		clearTimeout(timeId);
	});
	
});

箭翎 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明采用jQuery对于tab选项卡的优化加强版本
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址