jQuery—Tab选项卡

		// Html部分
		<div class="box">
	        <ul class="nav">
	            <li>H5+C3</li>
	            <li>jQuery</li>
	            <li>C语言</li>
	            <li>Go语言</li>
	        </ul>
	        <ul class="content">
	            <li class="show"><img src="C:\Users\21170\Pictures\商品图片\雪糕.png" alt=""></li>
	            <li><img src="C:\Users\21170\Pictures\商品图片\饼干.png" alt=""></li>
	            <li><img src="C:\Users\21170\Pictures\商品图片\大米.png" alt=""></li>
	            <li><img src="C:\Users\21170\Pictures\商品图片\饺子.png" alt=""></li>
	        </ul>
	    </div>

		// CSS部分
		*{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 440px;
            height: 298px;
            border: 1px solid #000;
            margin: 50px auto;
        }
        .nav>li{
            list-style: none;
            width: 110px;
            height: 50px;
            background: orange;
            text-align: center;
            line-height: 50px;
            float: left;
        }
        .nav>.current{
            background: #ccc;
        }
        .content>li{
            list-style: none;
            display: none;
        }
        img {
            width: 440px;
            height: 248px;
        }
        .content>.show{
            display: block;
        }
        
		// JS部分
		// 下面写法存在bug,实际上只用下面一半的代码就可以实现选项卡的切换了
        $(function(){
            // 1.监听选项卡的移入事件
            $(".nav>li").mouseenter(function(){
                // 修改被移入选项卡的背景颜色
                $(this).addClass("current")
                // 获取当前移入的选项卡的索引
                var index = $(this).index()
                // 根据索引找到对应的图片
                var $li = $(".content>li").eq(index)
                // 显示找到的图片
                $li.addClass("show")
            })
            // 2.监听选项卡的移出事件
            $(".nav>li").mouseleave(function(){
                // 还原选项卡的背景颜色
                $(this).removeClass("current")
                // 隐藏对应图片
                // 获取当前移出的选项卡的索引
                var index = $(this).index()
                // 根据索引找到对应的图片
                var $li = $(".content>li").eq(index)
                // 隐藏图片
                $li.removeClass("show")
            })
        })
        // 正确写法
        $(function(){
            // 1.监听选项卡的移入事件
            $(".nav>li").mouseenter(function(){
                // 修改被移入选项卡的背景颜色
                $(this).addClass("current")
                // 还原其他兄弟选项卡的背景颜色 siblings可以返回除开当前选择内容的其他所有选择(排它)
                $(this).siblings().removeClass("current")  
                // 获取当前选中的选项卡的索引
                var index = $(this).index()
                // 根据索引找到对应的图片
                var $li = $(".content>li").eq(index)
                // 隐藏非当前的其他图片
                $li.siblings().removeClass("show")
                // 显示找到的图片
                $li.addClass("show")
            })
        })

效果图如下:
随着Tab的改变,下面图片随之改变。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值