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 相关文章推荐
js创建元素(节点)示例
Jan 02 Javascript
js查找某元素中的所有图片地址的方法
Jan 16 Javascript
JavaScript Promise启示录
Aug 12 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
Apr 27 Javascript
JQuery遍历元素的后代和同胞实现方法
Sep 18 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
Apr 10 Javascript
微信小程序实现倒计时60s获取验证码
Apr 17 Javascript
捕获未处理的Promise错误方法
Oct 13 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
Vue3.x源码调试的实现方法
Oct 13 Javascript
在antd中setFieldsValue和defaultVal的用法
Oct 29 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php 生成随机验证码图片代码
2010/02/08 PHP
php实现统计邮件大小的方法
2013/08/06 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
php支付宝APP支付功能
2020/07/29 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
Python语言的面相对象编程方式初步学习
2016/03/12 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
应届毕业生个人自我评价
2013/09/20 职场文书
高一自我鉴定
2013/12/17 职场文书
服务员岗位责任制
2014/02/11 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
班级安全教育实施方案
2014/02/23 职场文书
家长对孩子的感言
2014/03/10 职场文书
求职个人评价范文
2014/04/09 职场文书
教师年度考核个人总结
2015/02/12 职场文书
公务员个人年终总结
2015/02/12 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
送给客户微信问候语!
2019/07/04 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书