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 相关文章推荐
JavaScript Event学习第四章 传统的事件注册模型
Feb 07 Javascript
javascript自定义的addClass()方法
May 28 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 Javascript
理解JavaScript事件对象
Jan 25 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
May 21 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
JavaScript中数组Array方法详解
Feb 27 Javascript
vue ssr 指南详读
Jun 29 Javascript
js Array.slice的8种不同用法示例
Jul 10 Javascript
js实现飞机大战游戏
Aug 26 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
在WIN98下以apache模块方式安装php
2006/10/09 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
jquery一般方法介绍 入门参考
2011/06/21 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
python中dir函数用法分析
2015/04/17 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
django 单表操作实例详解
2019/07/30 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
暑假实习求职信范文
2013/09/22 职场文书
调解员先进事迹材料
2014/02/07 职场文书
买房协议书范本
2014/10/23 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android