jquery仿百度经验滑动切换浏览效果


Posted in Javascript onApril 14, 2015

jquery仿百度经验滑动切换浏览效果

$(function() {
  wordStrong();
  $("#content ul").width($("#content ul li:first").width()*$("#content ul li").length);
  $("#header .top_right .vote").hover(function() {
    $(this).children(".hover-tip").css("display", "block");
    $(this).children(".num").css("display", "none");  
  }, function() {
    $(this).children(".hover-tip").css("display", "none");
    $(this).children(".num").css("display", "block");  
  });
   
   
  $("#content .left, #content .right").width(($(document).width()-$("#content").width())/4);
  $("#content .left").css("left", -$("#content .left").width());
  $("#content .right").css("right", -$("#content .right").width());
   
  var showId = 0;
  $("#content span.left").hover(function() {
    if ( checkFirst() ) return ;
    $(this).css("cursor", "pointer");
    $(this).siblings(".sl").stop().animate({
      opacity:0.5 
    }); 
  }, function() {
    $(this).siblings(".sl").stop().animate({
      opacity:0
    }); 
  }).click(function() {
    if ( checkFirst() ) return ;
    showId --;
    $("#content").attr("showId", showId);
    $("#footer li").children().removeClass("active").end().children().eq(showId).addClass("active");
    center(showId);
  });
   
  $("#content span.right").hover(function() {
    if ( checkLast() ) return ;
    $(this).css("cursor", "pointer");
    $(this).siblings(".sr").stop().animate({
      opacity:0.5
    }); 
  }, function() {
    $(this).siblings(".sr").stop().animate({
      opacity:0
    }); 
  }).click(function() {
    if ( checkLast() ) return ;  
    showId ++;   
    $("#content").attr("showId", showId);
    $("#footer li").children().removeClass("active").end().children().eq(showId).addClass("active");
    center(showId); 
  });
   
  function checkFirst() {
    if ( $("#content").attr("showId") == 0 ) {
      $("#content span.left").css("cursor", "default");
      return true;    
    }
    return false;
  }
   
  function checkLast() {
    if ( $("#content").attr("showId") == $("#content ul li").length-1 ) {
      $("#content span.right").css("cursor", "default");
      return true;    
    }
    return false;  
  }
     
  /* 首字母大写 */
  function wordStrong() {
    var liList = $("#content ul li");
    for (var j = 0; j < liList.length; j ++) {
      var pList = $("#content .cont_"+(j+1)+" .cont_word p");
      for (var i = 0; i < pList.length; i ++) {
        var p = pList.get(i);
        var pCont = $(p).html();    
        var s = $("<b>"+(i+1)+"</b>");
        s.css("font-size", "24px");   
        $(p).html('');
        s.appendTo(p);
        $(p).append(pCont.substring(1));    
      }
    }
  }  
   
  center(0);
   
  //相对li居中
  function center(liIndex) {
    var li = $("#content ul li").css("opacity", 0.3).eq(liIndex).css("opacity", 1);
    $("#content ul").animate({
      left: (-li.width()*liIndex)
    });
  }
   
  var footLen = $("#content ul li").length;
  var foots = $("#footer ul");
  for (var i = 1; i < footLen-1; i ++) {
    var childA = $("<a>").html(i);
    childA.attr("href", "#");
    $("<li>").append(childA).insertBefore(foots.children("[step=last]")).attr("step", i);   
  }
  foots.children(":last").attr("step", footLen-1);
  foots.css("left", ($(window).width()-foots.width())/2); 
  $("#footer li").click(function() {
    $("#footer ul li").children().removeClass("active");
    $(this).children().addClass("active");
    center($(this).attr("step"));
  });
   
  function myAddEvent(obj, e, fn) {
    if ( obj.attachEvent ) {
      obj.attachEvent('on'+e, fn);
    }else obj.addEventListener(e, fn, false);
  }
   
  function onMouseWheel(ev) { 
    var ev = ev||event;   
    //IE
    //wheelDelta  下滚:负, 上滚:下
    //alert(oEvent.wheelDelta);
    //FF
    //detail:  下滚:正, 上滚: 负
    //alert(oEvent.detail)   
    var bDown = true;
    if ( ev.wheelDelta ) {
      bDown = ev.wheelDelta<0;
    }else {
      bDown = ev.detail>0;
    }    
    if ( !bDown ) {
      if ( checkFirst() ) return ;
      showId --;     
    }
    else {
      if ( checkLast() ) return ;
      showId ++;     
    }
    $("#content").attr("showId", showId);
    $("#footer ul li").children().removeClass("active").end().eq(showId).children().addClass("active");
    center(showId);
    if ( oEvent.preventDefault ) {
      oEvent.preventDefault();
    }
    return false;
  }
   
  myAddEvent(window, 'mousewheel', onMouseWheel);
  myAddEvent(window, 'DOMMouseScroll', onMouseWheel);
});

以上所述就是本文给大家介绍的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
js刷新框架子页面的七种方法代码
Nov 20 Javascript
Javascript load Page,load css,load js实现代码
Mar 31 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
Feb 13 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 Javascript
AngularJS 日期格式化详解
Dec 23 Javascript
详谈innerHTML innerText的使用和区别
Aug 18 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
Oct 30 Javascript
支付宝小程序实现省市区三级联动
Jun 21 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
Oct 23 Javascript
token 机制和实现方式
Dec 15 Javascript
jQuery获得子元素个数的方法
Apr 14 #Javascript
jQuery简单实现遍历数组的方法
Apr 14 #Javascript
jquery插件orbit.js实现图片折叠轮换特效
Apr 14 #Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
Apr 14 #Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 #Javascript
JavaScript将字符串转换为整数的方法
Apr 14 #Javascript
使用javascript实现判断当前浏览器
Apr 14 #Javascript
You might like
php使用google地图应用实例
2014/12/31 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
教师业务学习制度
2014/01/25 职场文书
班级课外活动总结
2014/07/09 职场文书
毕业生应聘求职信
2014/07/10 职场文书
装修活动策划方案
2014/08/27 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
2015年党员自评材料
2014/12/17 职场文书
高三毕业评语
2014/12/31 职场文书
同学会感言
2015/07/30 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server