jQuery实现MSN中文网滑动Tab菜单效果代码


Posted in Javascript onSeptember 09, 2015

本文实例讲述了jQuery实现MSN中文网滑动Tab菜单效果代码。分享给大家供大家参考。具体如下:

这是一款jQuery实现Msn中文网的滑动滑动门代码,利用jQuery实现的效果,代码很巧妙,就是利用一个绝对定位的层来实现移动效果,但是体验度大幅提升了。

运行效果截图如下:

jQuery实现MSN中文网滑动Tab菜单效果代码

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<meta http-equiv="Refresh" content="3600" />
<title>MSN中文网:时尚生活 白领门户</title>
<style>
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{
 margin: 0;
 padding: 0;
}
ol,ul{
 list-style: none;
}
.clearfix:after{
 content: ".";
 display: block;
 height: 0;
 clear: both;
 visibility: hidden;
}
.clearfix{
 display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix{
 height: 1%;
}
.clearfix{
 display: block;
}
/* End hide from IE-mac */
body{
 font-size: 12px;
 font-family: "Microsoft Yahei" ,Tahoma, "SimSun";
 color: #333;
 background: #fff;
 line-height: 1.5;
}
.main_l{
 width: 513px;
 position: relative;
 float: left;
}
.main_title{
 height: 28px;
 overflow: hidden;
 background: url(images/s3.png) 0 0 no-repeat;
 float: left;
}
.main_title ul{
 font-size: 14px;
}
.main_title ul li{
 height: 23px;
 line-height: 23px;
 padding-left: 16px;
 padding-right: 16px;
 padding-top: 1px;
 background: #f1f1f1;
 border-top: #fff 3px solid;
 border-left: #fff 1px solid;
 border-right: #fff 1px solid;
 float: left;
}
.main_title ul .on{
 height: 22px;
 line-height: 22px;
 padding-left: 16px;
 padding-right: 16px;
 background: #fff;
 border-top: #009ad9 4px solid;
 border-left: #009ad9 1px solid;
 border-right: #009ad9 1px solid;
 border-bottom: #fff 1px solid;
}
.main_title ul .on a{
 font-weight: 700;
}
.main_title span{
 line-height: 24px;
 padding-top: 4px;
 padding-right: 10px;
 float: right;
}
.main_l .main_title{
 width: 513px;
 overflow: hidden;
}
.main_l .main_content{
 width: 513px;
}
.main_l .main_content .main_box{
 width: 339px;
 overflow: hidden;
 float: left;
}
.main_l .main_content .main_box .list{
 font-size: 14px;
 line-height: 26px;
}
.main_l .main_content .main_box .list ul{
 padding: 8px 0;
 border-bottom: #e1e1e1 1px solid;
 width: 339px;
 overflow: hidden;
}
.main_l .main_content .main_box .list ul li{
 padding-left: 25px;
 background: url(images/s3.png) 3px -300px no-repeat;
 width: 600px;
}
.main_l .main_content .main_box .list ul .v{
 background: url(images/s3.png) 3px -330px no-repeat;
}
.main_l .main_content .main_box .list ul .top{
 background: none;
 padding-left: 0;
 text-align: center;
 font-size: 14px;
 font-weight: 700;
 width: 339px;
}
.tab div.t.none{
 display: none;
}
.tab .main_title ul.fx li{
 background-color: transparent;
}
.tab .main_title ul.fx li, .tab .main_title ul.fx li.on{
 border-top: 0;
 margin-top: 3px;
 padding-top: 0;
}
.tab .main_title ul.fx li.on{
 border-left-color: transparent;
 border-right-color: transparent;
 border-bottom-width: 0;
}
.tab .main_title ul.fx{
 z-index: 20;
 position: relative;
}
.tab .main_title div.animate{
 height: 23px;
 position: absolute;
 top: 0;
 border-top: #009ad9 4px solid;
 border-left: #009ad9 1px solid;
 border-right: #009ad9 1px solid;
 border-bottom: #fff 1px solid;
 background-color: #fff;
}
</style>
<script src="jquery-1.6.2.min.js"></script>
<script>
var msn = msn || {};
msn.hp = msn.hp || {};
msn.hp.tab = {
 t: null,
 delayTime: 150,
 fx: true,
 tab: function(b) {
 $(b).siblings().removeClass("on");
 $(b).addClass("on");
 var c = $(b).parents(".tab").find("div.t");
 var a = c.eq($(b).index());
 c.addClass("none");
 a.removeClass("none");
 if (this.fx) {
  if ($(b).parent().hasClass("nofx")) {
  return
  }
  $(b).parent().siblings(".animate").width($(b).outerWidth() - 2).animate({
  left: $(b).position().left
  },
  "slow")
 }
 },
 delayTab: function(b, a) {
 clearTimeout(b.t);
 this.t = setTimeout(function() {
  b.tab(a)
 },
 this.delayTime)
 },
 init: function() {
 var a = this;
 a.animate();
 if (window.Touch) {
  $(".tab .main_title>ul>li[class!='on']>a").click(function() {
  return false
  })
 }
 $(".tab .main_title>ul>li,.tab>ul.hotread_menu>li").hover(function() {
  a.delayTab(a, this)
 },
 function() {
  clearTimeout(a.t)
 })
 },
 animate: function() {
 if (!this.fx) {
  return
 }
 $(".tab .main_title>ul").each(function() {
  if (!$(this).hasClass("nofx")) {
  $(this).addClass("fx")
  }
 });
 $(".tab .main_title").each(function(a, b) {
  if ($(this).find("ul").hasClass("nofx")) {
  return
  }
  $(b).append("<div class='animate' ></div>");
  $(b).find(".animate").width($(b).find("ul>li.on").outerWidth() - 2).css("left", $(b).find("ul>li.on").position().left)
 })
 }
};
$(document).ready(function() {
 var a = msn.hp;
 a.tab.init();
});
</script>
</style>
</head>
<body>
<div class="clearfix">
 <div class="main_l tab">
  <div class="main_title">
   <ul class="fx">
    <li class="">Tab1</li>
    <li><a href="#">Tab2</a></li>
    <li><a href="#">Tab3</a></li>
    <li class="on"><a href="#">Tab4</a></li>
   </ul>
   <span><a href="#"></a>更多>> </span>
   <div class="animate" style="width: 60px; left: 186px;"></div><!--这是移动的关键-->
  </div>
  <div class="main_content clearfix">
   <div class="main_box t none">
    <div class="list">
     <ul>
      <li class="top"><a href="#">双色球井喷36注498万</a> </li>
      <li><a href="#">停电促彩民中500万</a> </li>
      <li><a href="#">白领讲述坑爹的理赔经历</a> </li>
      <li><a href="#">年入13万怎规划</a> </li>
      <li><a href="#">铂金遇冷升值潜力超黄金</a> </li>
      <li><a href="#">投资铂金正当时</a> </li>
      <li><a href="#">打败巴菲特10方法:先还清你信用卡欠款</a> </li>
      <li><a href="#">中国股市越生越穷越穷越生</a> </li>
      <li><a href="#">熊猫币更来菜</a> </li>
     </ul>
    </div>
   </div>
   <div class="main_box t none">
    <div class="list">
     <ul>
      <li class="top"><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="#">基金经理热望11月曙光</a> </li>
      <li><a href="#">福布斯统计:中国四百名富豪身家近三万亿</a> </li>
      <li><a href="#">电销保险骚扰再现新变种</a> </li>
      <li><a href="#">车贷成鸡肋喊停</a> </li>
      <li><a href="#">部分银行违规营销信用卡</a> <a href="#">银行千亿投理财</a> </li>
      <li><a href="#">债市长期投资机会来临</a> <a href="#">或将率先迎来转机</a> </li>
      <li><a href="#">短期流动性仍偏紧</a> <a href="#">密切关注投资通胀数据</a> </li>
     </ul>
    </div>
   </div>
   <div class="main_box t none">
    <div class="list">
     <ul>
      <li class="top"><a href="#">住房公积金面临尴尬:买房远不够治病又违规</a> </li>
      <li><a href="#">房租比房价更伤人房租暴涨的十大后果</a> </li>
      <li><a href="#">郎咸平发危言楼市进入高风险低收入时代</a> </li>
      <li><a href="#">四环外低价房33万</a> <a href="#">2.1万住西四环五棵松</a> </li>
      <li><a href="#">金九银十惨淡开局降51万特价房杀出重围</a> </li>
      <li><a href="#">迪拜塔里的奢侈酒店全球最奢侈酒店大PK</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 class="main_box t">
    <div class="list">
     <ul>
      <li class="top"><a href="#">最适合80后的三套婚房案例简约温馨装修</a> </li>
      <li><a href="#">小女人装136平4室2厅2卫绝美气质家</a> </li>
      <li><a href="#">10万网友推崇的60套迷人简约样板间</a> </li>
      <li><a href="#">42图记录三层复式美宅装修历程(组图)</a> </li>
      <li><a href="#">剩女自装90平混搭风格三居室(组图)</a> </li>
      <li><a href="#">六万将60平旧房改成2室2厅豪华公寓</a> </li>
      <li><a href="#">96平二手房变简约北欧风情三口之家</a> </li>
      <li><a href="#">网友晒89平米二室二厅浪漫惬意婚房</a> </li>
      <li><a href="#">一室二厅的温馨二人世界很红火(图)</a> </li>
      <li><a href="#">85后小媳妇装92平米简约奢华三居</a> </li>
     </ul>
    </div>
   </div>
  </div>
 </div>
</div>
</body>
</html>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
Prototype使用指南之selector.js说明
Oct 26 Javascript
Jquery命名冲突解决的五种方案分享
Mar 16 Javascript
解析JavaScript中的不可见数据类型
Dec 02 Javascript
JS比较两个时间大小的简单示例代码
Dec 20 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
jQuery中each()方法用法实例
Dec 27 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
Mar 14 Javascript
JS实现模糊查询带下拉匹配效果
Jun 21 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
Aug 03 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
Mar 05 Javascript
JS实现前端路由功能示例【原生路由】
May 29 Javascript
原生JS实现多条件筛选
Aug 19 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
Sep 09 #Javascript
JS实现自动变换的菜单效果代码
Sep 09 #Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
Sep 09 #Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 #Javascript
使用impress.js制作幻灯片
Sep 09 #Javascript
谈谈impress.js初步理解
Sep 09 #Javascript
javascript实现base64 md5 sha1 密码加密
Sep 09 #Javascript
You might like
PHP答题类应用接口实例
2015/02/09 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
Scala解析Json字符串的实例详解
2017/10/11 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
python的faker库用法
2019/11/28 Python
Python箱型图处理离群点的例子
2019/12/09 Python
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
一道Delphi上机题
2012/06/04 面试题
中青班党性分析材料
2014/02/16 职场文书
大学毕业生求职自荐信
2014/02/20 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
协议书范本
2014/04/23 职场文书
求职自我推荐信
2014/06/25 职场文书
开学第一周值周总结
2015/07/16 职场文书
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js