仿网易选项卡制作

14 篇文章 6 订阅
8 篇文章 0 订阅
如果你的页面只有一个tab(选项卡)切换的地方,需要调用js效果,如果单独为了它,还要为页面加载一个jQuery插件,想必是极痛苦的。所有很多时候,jQuery特效也不是万能的,偶尔来个原生的js效果也是必须的。 今天闲着无聊,用js和jquery分别写了一个选项卡的效果,但是其中用到jquery只是为了更好的获取标签以及修改样式。

先来浏览一下效果图吧~~

一、Javascript实现
1、html布局
<div id="box">
	<div class="biaoti">
		<span id="span_xinwen" οnmοuseοver="xianshixinwen()" class="s1">新闻</span>
		<span id="span_tupian" οnmοuseοver="xianshitupian()" class="s2">图片</span>
		<span id="span_junshi" οnmοuseοver="xianshijunshi()" class="s3">军事</span>
	</div>
	<div class="neirong">
		<div class="info" id="xinwen">
			<ul>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
				<li><a href="####">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
			</ul>
		</div>
		<div class="info" id="tupian">
			<ul>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
				<li><a href="####">图片图片图片图片图片图片图片图片图片</a></li>
			</ul>
		</div>
		<div class="info" id="junshi">
			<ul>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
				<li><a href="####">军事军事军事军事军事军事军事军事军事</a></li>
			</ul>
		</div>
	</div>	
</div>
布局很简单,其实就是两个div,第一个div中存放按钮,第二个div中存放内容。

2、css修饰
<style type="text/css">
	#box{
	    height:600px;
	    margin-top: 100px;
	    margin-left: 100px;
	}
	#box .biaoti{
		font:16px/30px "宋体";
		height: 30px;
		width: 310px;
		border-top:2px solid #206F96;
		text-align: center; 
	}
	#box .biaoti .s1{
		width: 102px;
		height: 29px;
		border-left: 1px solid #CFCFCF;
		border-right: 1px solid #CFCFCF;
		float: left;
	}
	#box .biaoti .s2{
		width: 102px;
		height: 29px;
		border-right: 1px solid #CFCFCF;
		border-bottom: 1px solid #CFCFCF;
		background: url(images/1.jpg) repeat-x;
		float: left;
	}
	#box .biaoti .s3{
		width: 102px;
		height: 29px;
		border-right: 1px solid #CFCFCF;
		border-bottom: 1px solid #CFCFCF;
		background: url(images/1.jpg) repeat-x;
		float: left;
	}
	#box .neirong ul{
		list-style: none;
		padding-left: 0px;
	}
	#box .neirong ul li{
		line-height: 30px;
		padding-left: 0px;
	}
	#box .neirong ul li a:link,#box .neirong ul li a:visited{
		text-decoration: none;
		color:#666;
		font-size: 16px;
	}
	#tupian,#junshi{
		display: none;
	}
	</style>

3、js效果实现
<script type="text/javascript">
	function xianshitupian(){
		//让图片内容显示出来
		document.getElementById("tupian").style.display="block";
		//让新闻的内容隐藏
		document.getElementById("xinwen").style.display="none";
		//让军事的内容隐藏
		document.getElementById("junshi").style.display="none";
		//让图片的背景隐藏
		document.getElementById("span_tupian").style.background="none";
		//让新闻的背景加上图片
		document.getElementById("span_xinwen").style.background="url(images/1.jpg) repeat-x";
		//让军事的背景加上图片
		document.getElementById("span_junshi").style.background="url(images/1.jpg) repeat-x";
		//让图片的下划线隐藏
		document.getElementById("span_tupian").style.borderBottom="none";
		//让新闻的下划线加上
		document.getElementById("span_xinwen").style.borderBottom="1px solid #CFCFCF ";
		//让军事的下划线加上
		document.getElementById("span_junshi").style.borderBottom="1px solid #CFCFCF ";
	}
	function xianshijunshi(){
		//让军事内容显示出来
		document.getElementById("junshi").style.display="block";
		//让新闻的内容隐藏
		document.getElementById("xinwen").style.display="none";
		//让图片的内容隐藏
		document.getElementById("tupian").style.display="none";
		//让军事的背景隐藏
		document.getElementById("span_junshi").style.background="none";
		//让新闻的背景加上图片
		document.getElementById("span_xinwen").style.background="url(images/1.jpg) repeat-x";
		//让图片的背景加上图片
		document.getElementById("span_tupian").style.background="url(images/1.jpg) repeat-x";
		//让军事的下划线隐藏
		document.getElementById("span_junshi").style.borderBottom="none";
		//让新闻的下划线加上
		document.getElementById("span_xinwen").style.borderBottom="1px solid #CFCFCF ";
		//让图片下划线加上
		document.getElementById("span_tupian").style.borderBottom="1px solid #CFCFCF ";
	}
	function xianshixinwen(){
		//让新闻内容显示出来
		document.getElementById("xinwen").style.display="block";
		//让图片的内容隐藏
		document.getElementById("tupian").style.display="none";
		//让军事的内容隐藏
		document.getElementById("junshi").style.display="none";
		//让新闻的背景隐藏
		document.getElementById("span_xinwen").style.background="none";
		//让图片的背景加上图片
		document.getElementById("span_tupian").style.background="url(images/1.jpg) repeat-x";
		//让军事的背景加上图片
		document.getElementById("span_junshi").style.background="url(images/1.jpg) repeat-x";
		//让新闻的下划线隐藏
		document.getElementById("span_xinwen").style.borderBottom="none";
		//让图片的下划线加上
		document.getElementById("span_tupian").style.borderBottom="1px solid #CFCFCF ";
		//让军事下划线加上
		document.getElementById("span_junshi").style.borderBottom="1px solid #CFCFCF ";
	}
</script>
js写起来其实很简单,最重要的目的就是修改样式和制作动画。
二、jquery实现
1、html布局
<div class="box">
        <div class="title">
            <button class="btn btn-news">新闻</button>
            <button class="btn btn-pic">图片</button>
            <button class="btn btn-aff">军事</button>
        </div>
        <div class="contents">
            <div class="info" id="news">
                <ul>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                    <li><a href="#">新闻新闻新闻新闻新闻新闻新闻新闻新闻</a></li>
                </ul>
            </div>
            <div class="info" id="pictures">
                <ul>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                    <li><a href="#">图片图片图片图片图片图片图片图片图片</a></li>
                </ul>
            </div>
            <div class="info" id="affairs">
                <ul>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                    <li><a href="#">军事军事军事军事军事军事军事军事军事</a></li>
                </ul>
            </div>
        </div>

    </div>

2、css修饰
body{
    margin:0px;
    padding:0px;
}
li{
    list-style: none;
}
a{
    text-decoration: none;
}
button{
    border:none;
}
input,button,select,textarea{
    outline:none;
}
.box{
    height:600px;
    margin-top: 100px;
    margin-left: 100px;
}
.title{
    font:16px/30px "宋体";
    height: 30px;
    width: 306px;
    border-top:2px solid #206F96;
}
.title .btn{
    width:102px;
    height: 29px;
    font-size: 16px;
}
.title .btn-news{
    border-left: 1px solid #CFCFCF;
    border-right: 1px solid #CFCFCF;
    float: left;
    background: #fff;
}
.title .btn-pic{
    border-right: 1px solid #CFCFCF;
    border-bottom: 1px solid #CFCFCF;
    background: url(../images/1.jpg) repeat-x;
    float: left;
}
.title .btn-aff{
    border-right: 1px solid #CFCFCF;
    border-bottom: 1px solid #CFCFCF;
    background: url(../images/1.jpg) repeat-x;
    float: left;
}
.contents ul{
    padding-left:10px;
}
.contents ul li+li{
    line-height:29px;
}
.contents ul li a{
    color: #666;
}
.contents ul li:hover,.contents ul li:visited,.contents ul li a:hover ,.contents ul li a :visited{
    color: #68a3ff;
}
#pictures,#affairs{
    display: none;
}
3、js实现
/**
 * Created by lxq on 2016/10/3.
 */
$(document).ready(function(){
    $(".title .btn-pic").click(function(){
        $("#pictures").css({ "display": "block"});
        $("#news").css({ "display": "none"});
        $("#affairs").css({ "display": "none"});

        $(".btn-pic").css({ "border-bottom": "none","background-image":"none"});
        $(".btn-news").css({ "border-bottom": "1px solid #CFCFCF","background-image":"url(images/1.jpg)"});
        $(".btn-aff").css({ "border-bottom": "1px solid #CFCFCF","background-image":"url(images/1.jpg)"});
    });

    $(".title .btn-aff").click(function(){
        $("#affairs").css({ "display": "block"});
        $("#news").css({ "display": "none"});
        $("#pictures").css({ "display": "none"});

        $(".btn-aff").css({ "border-bottom": "none","background-image":"none"});
        $(".btn-pic").css({ "border-bottom": "1px solid #CFCFCF","background-image":"url(images/1.jpg)"});
        $(".btn-news").css({ "border-bottom": "1px solid #CFCFCF","background-image":"url(images/1.jpg)"});
    });

    $(".title .btn-news").click(function(){
        $("#news").css({ "display": "block"});
        $("#affairs").css({ "display": "none"});
        $("#pictures").css({ "display": "none"});

        $(".btn-news").css({ "border-bottom": "none","background-image":"none"});
        $(".btn-pic").css({ "border-bottom": "1px solid #CFCFCF","background-image":"url(images/1.jpg)"});
        $(".btn-aff").css({ "border-bottom": "1px solid #CFCFCF","background-image":"url(images/1.jpg)"});
    });
});

使用jquery最大的好处就是在获取标签的时候很方便,直接通过$和class名或者id名就直接获取。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值