本文实例讲述了js实现的鼠标滚轮滚动切换页面效果的方法。分享给大家供大家参考,具体如下:

运行效果截图如下:

具体代码如下:

wheel

var currentShowPageIndex = 0;

var animateTimeout = null;

var isWheelAnimating = false;

var isWheelUp = function(event) {

event = event || window.event;

var up = true;

if(event.wheelDelta){//IE/Opera/Chrome

up = event.wheelDelta / 120 == 1 ? true : false;

}else{//Firefox

up = event.detail / 3 == 1 ? true : false;

}

return up;

}

var changeBar = function(prevIndex, index) {

var barUl = document.getElementById('barUl');

var barLiList = barUl.getElementsByTagName('li');

barLiList[prevIndex].className = "";

barLiList[index].className = "active";

}

var changePage = function(pageIndex) {

var showPageUl = document.getElementById('wheelUl');

changeBar(currentShowPageIndex, pageIndex);

currentShowPageIndex = pageIndex;

var left = -(currentShowPageIndex) * 1000;

showPageUl.style.marginLeft = left + "px";

return;

}

var animate = function(obj, mode, from, to){

if(animateTimeout) {

clearTimeout(animateTimeout);

}

if(mode == "left") {

if(from > to) {

from = from - 50;

obj.style.marginLeft = (from) + "px";

setTimeout(function(){

animate(obj, mode, from, to);

}, 30);

} else {

isWheelAnimating = false;

}

return;

}

if(from < to) {

from = from + 50;

obj.style.marginLeft = (from) + "px";

setTimeout(function(){

animate(obj, mode, from, to);

}, 30);

} else {

isWheelAnimating = false;

}

}

var mouseWheel = function(event) {

if(isWheelAnimating) {

return;

}

isWheelAnimating = true;

var wheelUp = isWheelUp(event);

var showPageUl = document.getElementById('wheelUl');

var showPageUlWidth = parseInt(showPageUl.offsetWidth);

var showPageLiList = showPageUl.getElementsByTagName('li');

var showPageLiListLength = showPageLiList.length;

var wheelWrapperLeft = parseInt(document.getElementById('wheelWrapper').offsetLeft);

if(wheelUp && currentShowPageIndex < showPageLiListLength - 1) {

changeBar(currentShowPageIndex, currentShowPageIndex + 1);

currentShowPageIndex ++;

var left = -(currentShowPageIndex) * 1000;

//animate(showPageUl, "right", -(currentShowPageIndex - 1) * 1000, -(currentShowPageIndex - 1) * 1000);

var from = -(currentShowPageIndex - 1) * 1000;

var to = -(currentShowPageIndex) * 1000;

animate(showPageUl, "left", from, to);

return;

}

if(!wheelUp && currentShowPageIndex > 0) {

changeBar(currentShowPageIndex, currentShowPageIndex - 1);

currentShowPageIndex --;

var from = -(currentShowPageIndex + 1) * 1000;

var to = -(currentShowPageIndex) * 1000;

animate(showPageUl, "right", from, to);

return;

}

isWheelAnimating = false;

};

if(document.addEventListener){

document.addEventListener('DOMMouseScroll',function(event) { mouseWheel(event); },false);

}

document.onmousewheel = function(event) { mouseWheel(event); }

window.onload = function(){

var barUl = document.getElementById('barUl');

var barLiList = barUl.getElementsByTagName('li');

for(var i=0,length=barLiList.length; i

(function(index){

barLiList[index].onclick = function(){

changePage(index);

};

})(i);

}

}

body { background:#494949; margin:0; }

ul { list-style:none; margin:0; padding:0; }

li { float:left;}

#wheelWrapper {

width:1000px; height:550px; margin:0 auto;

position:fixed; left:50%; margin-left:-505px;

bottom:50px; overflow:hidden;

}

#wheelUl {

width:5050px; height:500px;

}

#barUl {

clear:both; margin:0 auto; width:550px;

margin-top:20px; line-height:25px;

}

#barUl>li {

width:100px; background:orange;

height:25px; margin-right:10px;

border-radius:5px; text-align:center;

-webkit-border-radius:5px;

-moz-border-radius:5px;

}

#barUl>li:hover {

background:#C36C12;

}

#barUl>li[class=active] {

background:#C36C12;

}

#wheelUl>li { width:1000px; }

.wheel {

width:994px; height:500px; background:#FAAA3C;

border-radius:10px;

-webkit-border-radius:10px;

-moz-border-radius:10px;

margin:0 auto;

line-height:300px;

font-size:100px;

text-align:center;

}

.radius {

border-radius:3px;

-webkit-border-radius:3px;

-moz-border-radius:3px;

}

h1 { text-align:center; color:#fff; }

ie8+,chrome,ff提供支持

  • 1_page1

  • 2_page2

  • 3_page3

  • 4_page4

  • 5_page5

  • 1

  • 2

  • 3

  • 4

  • 5

更多关于jQuery特效相关内容感兴趣的读者可查看本站专题:《jQuery常见经典特效汇总》及《jQuery动画与特效用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

html怎么做到滚动鼠标转换,js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)...相关推荐

  1. 怎么给html增加鼠标跟随,js实现简单鼠标跟随效果的方法

    本文实例讲述了js实现简单鼠标跟随效果的方法.分享给大家供大家参考.具体分析如下: 鼠标跟随,顾名思义,就是在鼠标移动的时候,有个动画跟随着鼠标一起移动. 要点一: var oEvent = evt ...

  2. html5 js获取鼠标坐标,js怎么获取鼠标在div中的相对位置

    大家在做网页的时候都可能会用到鼠标在div中的相对位置,那么怎么获取鼠标在div中的相对位置呢?下面由学习啦小编教大家怎么获取鼠标在div中的相对位置吧. 如何获取鼠标在div中的相对位置 代码如下: ...

  3. msclass 文字滚动_【JS特效】不间断滚动效果通用类

    网上发现一个不错的js不间断滚动效果,今天来转载一下吧.这个js的作者应是崔永祥(因其博客已不存在,而无法确认),我这里只简单整理,只为笔记. ??? 需要通过样式,js来实现这个翻滚效果. ??? ...

  4. 拥抱单页网站! jQuery全屏滚动插件fullPage.js

    不知道从什么时候开始,单页网站就悄悄走进人们的视线,尤其是国外的网站,更是钟爱单页网站.制作一个全屏滚动的效果,然后每个滚动页弄一个好看的背景色,配上一些描述性的文字,大家都喜欢这么弄,仿佛逼格瞬间可 ...

  5. 滚动旋钮时禁止页面滚动-jquery.knob.js

    jquery.knob.js一款很棒的jquery旋钮插件 gayhub地址:https://github.com/aterrien/jQuery-Knob 当鼠标滚轮作用于旋钮时,禁止页面滚动 $( ...

  6. jQuery全屏滚动插件 Fullpage.js 及 move.js

    Fullpage.js 引入文件 <link rel="stylesheet" href="css/jquery.fullPage.css"> &l ...

  7. js的鼠标事件(JavaScript的鼠标事件,vue的鼠标事件)

    js鼠标事件,相关属性: var div = document.getElementById("box")// 1.单击事件 onclickdiv.onclick = functi ...

  8. html页面左右滑动固定插件,jQuery全屏滚动插件fullPage.js让你的页面分屏滚动

    随着扁平化风格的日益流行,越来越多的网页越来越简单但又看上去高大上,比如小米.魅族.苹果等等知名站点的新品页面,以及360.百度等网站的专题页面越来越采用分屏滚动的风格. 当然实现这种风格的方法有多种 ...

  9. C语言跟随鼠标画方框,JS拖动鼠标画出方框实现鼠标选区的方法

    本文实例讲述了JS拖动鼠标画出方框实现鼠标选区的方法.分享给大家供大家参考.具体如下: 相当实用的一个JS技巧,拖动鼠标可画出一个方框,可作为一个选区的功能,可以用来画流程图,设计草图什么的,也可以作 ...

最新文章

  1. 小工具-销售订单概览屏幕的特性显示
  2. 三十三、Java集合中的LinkedList
  3. 沉浸式ui设计_有助于沉浸的视频游戏UI —武器轮
  4. 算法题目——整数划分(HRBUST-2004)
  5. vue样式绑定与事件处理器的基本使用
  6. oracle19c监听服务启动失败,Oracle19c安装(有失败成功记录)
  7. [Node.js] 模块化 -- express模块
  8. spring mvc后端代码实现弹出对话框_伟源|一图搞定Spring框架
  9. MindManager中读图工具的使用
  10. 2287 poj 田忌赛马,贪心
  11. mopso算法代码程序_程序员如何跨越35岁危机?这篇给点干货建议!
  12. win2003群集cluster下SQL2005和sp3补丁安装配置3
  13. matlab数字电路仿真,MATLAB环境下的数字电路仿真
  14. 小米手机相机的专业模式
  15. .net中获取MD5码
  16. 今日早报 每日精选12条新闻简报 每天一分钟 知晓天下事 9月24日
  17. 【Hive】Hive练习题(三)
  18. 万得-python接口-获取数据
  19. 高通平台camera客观项测试之色彩偏差白平衡饱和度
  20. 用计算机来画出整个方格图,怎么画小学数学中的方格图

热门文章

  1. 饥饿的小易(分枝限界法)
  2. 百度API获取地理坐标
  3. razor生成html,MVC Razor模板引擎输出HTML或者生产HTML文件
  4. 《麻省理工科技评论》在京举办第二届 EmTech China 峰会,全球顶级科技头脑打造年度最强话语场
  5. Flume+Kafka+Spark Steaming demo
  6. Kali Linux使用Aircrack破解WiFi密码(wpa/wpa2)
  7. AutoCAD2018(cad2018)32位/64位中文版
  8. 为什么选择 TypeScript
  9. 基于Python的淘宝行为数据可视化分析
  10. 二手车出险记录在哪查?