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 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
Jan 09 Javascript
JavaScript 判断浏览器是否支持SVG的代码
Mar 21 Javascript
Tab切换组件(选项卡功能)实例代码
Nov 21 Javascript
单元选择合并变色示例代码
May 26 Javascript
JS实现生成会变大变小的圆环实例
Aug 05 Javascript
jquery带翻页动画的电子杂志代码分享
Aug 21 Javascript
如何使用jquery修改css中带有!important的样式属性
Apr 28 Javascript
js验证框架之RealyEasy验证详解
Jun 08 Javascript
laydate只显示时分 不显示秒的功能实现方法
Sep 28 Javascript
Vue学习之常用指令实例详解
Jan 06 Javascript
JavaScript实现登录窗体
Jun 22 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数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
Python学习教程之常用的内置函数大全
2017/07/14 Python
python3.x实现发送邮件功能
2018/05/22 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
为什么相对PHP黑python的更少
2020/06/21 Python
python关于倒排列的知识点总结
2020/10/13 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
公务员检讨书
2014/11/01 职场文书
期末考试复习计划
2015/01/19 职场文书
运动会广播稿200字
2015/08/19 职场文书
竞聘书的秘诀
2019/04/02 职场文书
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
python数字类型和占位符详情
2022/03/13 Python
mysql如何查询连续记录
2022/05/11 MySQL