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 相关文章推荐
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
Jquery easyUI 更新行示例
Mar 06 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
总结AngularJS开发者最常犯的十个错误
Aug 31 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
使用JavaScriptCore实现OC和JS交互详解
Mar 28 Javascript
JavaScript实现短信倒计时60s
Oct 09 Javascript
vue项目中axios使用详解
Feb 07 Javascript
微信小程序实现电子签名并导出图片
May 27 Javascript
JS 基本概念详细介绍
Oct 16 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
xml在joomla表单中的应用详解分享
2012/07/19 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
PDO::errorCode讲解
2019/01/28 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
javascript中的location用法简单介绍
2007/03/07 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
js实现一个简易计算器
2020/03/30 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
python用match()函数爬数据方法详解
2019/07/23 Python
wxPython色环电阻计算器
2019/11/18 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
Python用input输入列表的实例代码
2020/02/07 Python
python的Jenkins接口调用方式
2020/05/12 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
进修护士自我鉴定
2013/10/14 职场文书
毕业生自我推荐
2013/11/04 职场文书
公益广告语集锦
2014/03/13 职场文书
个人评语大全
2014/05/04 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
教你用Python matplotlib库制作简单的动画
2021/06/11 Python