JavaScript仿网易选项卡制作代码


Posted in Javascript onOctober 06, 2016

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

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

JavaScript仿网易选项卡制作代码

一、Javascript实现
1、html布局

<div id="box"> 
 <div class="biaoti"> 
  <span id="span_xinwen" onmouseover="xianshixinwen()" class="s1">新闻</span> 
  <span id="span_tupian" onmouseover="xianshitupian()" class="s2">图片</span> 
  <span id="span_junshi" onmouseover="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名就直接获取。 

以上就是本文的全部内容,希望对大家有所帮助,希望大家继续关注三水点靠木的最新内容。

Javascript 相关文章推荐
基于jquery循环map功能的代码
Feb 26 Javascript
js实现进度条的方法
Feb 13 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
Sep 27 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 Javascript
详解JavaScript基本类型和引用类型
Dec 09 Javascript
详解AngularJS中自定义过滤器
Dec 28 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
js实现砖头在页面拖拉效果
Nov 20 Javascript
JS限制条件补全问题实例分析
Dec 16 Javascript
基于Vue制作组织架构树组件
Dec 06 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
Mar 28 Javascript
Vue函数式组件-你值得拥有
May 09 Javascript
Javascript中作用域的详细介绍
Oct 06 #Javascript
js实现非常棒的弹出div
Oct 06 #Javascript
jQuery事件用法详解
Oct 06 #Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 #Javascript
js改变html的原有内容实现方法
Oct 05 #Javascript
浅谈javascript:两种注释,声明变量,定义函数
Oct 05 #Javascript
jQuery 局部div刷新和全局刷新方法总结
Oct 05 #Javascript
You might like
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
Angular实现响应式表单
2017/08/04 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
Keras实现DenseNet结构操作
2020/07/06 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
毕业生动漫设计求职信
2013/10/11 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
教师工作表现评语
2014/12/31 职场文书
酒店厨房管理制度
2015/08/06 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
如何在C++中调用Python
2021/05/21 Python
教你怎么用python实现字符串转日期
2021/05/24 Python
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL