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使用include/require
Nov 13 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
May 16 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
Dec 03 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
Feb 27 Javascript
javascript实现粘贴qq截图功能(clipboardData)
May 29 Javascript
js 输入框 正则表达式(菜鸟必看教程)
Feb 19 Javascript
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
基于原生js运动方式关键点的总结(推荐)
Oct 01 Javascript
vue结合element-ui使用示例
Jan 24 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
Jul 27 Javascript
微信小程序实现聊天室
Aug 21 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分页显示制作详细讲解
2008/11/19 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
ThinkPHP之getField详解
2014/06/20 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
php目录拷贝实现方法
2015/07/10 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
js控制div及网页相关属性的代码
2009/12/19 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
webpack 2的react开发配置实例代码
2017/07/28 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python找出最小的K个数实例代码
2018/01/04 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
利用python进行文件操作
2020/12/04 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
安全标准化汇报材料
2014/02/03 职场文书
优质服务演讲稿
2014/05/14 职场文书
2015秋季新学期开学寄语
2015/05/28 职场文书
初级职称评定工作总结
2015/08/13 职场文书
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
vue中data里面的数据相互使用方式
2022/06/05 Vue.js
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers
设置IIS Express并发数
2022/07/07 Servers