html怎么做到滚动鼠标转换,js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)...
本文实例讲述了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默认页面滚动切换效果)...相关推荐
- 怎么给html增加鼠标跟随,js实现简单鼠标跟随效果的方法
本文实例讲述了js实现简单鼠标跟随效果的方法.分享给大家供大家参考.具体分析如下: 鼠标跟随,顾名思义,就是在鼠标移动的时候,有个动画跟随着鼠标一起移动. 要点一: var oEvent = evt ...
- html5 js获取鼠标坐标,js怎么获取鼠标在div中的相对位置
大家在做网页的时候都可能会用到鼠标在div中的相对位置,那么怎么获取鼠标在div中的相对位置呢?下面由学习啦小编教大家怎么获取鼠标在div中的相对位置吧. 如何获取鼠标在div中的相对位置 代码如下: ...
- msclass 文字滚动_【JS特效】不间断滚动效果通用类
网上发现一个不错的js不间断滚动效果,今天来转载一下吧.这个js的作者应是崔永祥(因其博客已不存在,而无法确认),我这里只简单整理,只为笔记. ??? 需要通过样式,js来实现这个翻滚效果. ??? ...
- 拥抱单页网站! jQuery全屏滚动插件fullPage.js
不知道从什么时候开始,单页网站就悄悄走进人们的视线,尤其是国外的网站,更是钟爱单页网站.制作一个全屏滚动的效果,然后每个滚动页弄一个好看的背景色,配上一些描述性的文字,大家都喜欢这么弄,仿佛逼格瞬间可 ...
- 滚动旋钮时禁止页面滚动-jquery.knob.js
jquery.knob.js一款很棒的jquery旋钮插件 gayhub地址:https://github.com/aterrien/jQuery-Knob 当鼠标滚轮作用于旋钮时,禁止页面滚动 $( ...
- jQuery全屏滚动插件 Fullpage.js 及 move.js
Fullpage.js 引入文件 <link rel="stylesheet" href="css/jquery.fullPage.css"> &l ...
- js的鼠标事件(JavaScript的鼠标事件,vue的鼠标事件)
js鼠标事件,相关属性: var div = document.getElementById("box")// 1.单击事件 onclickdiv.onclick = functi ...
- html页面左右滑动固定插件,jQuery全屏滚动插件fullPage.js让你的页面分屏滚动
随着扁平化风格的日益流行,越来越多的网页越来越简单但又看上去高大上,比如小米.魅族.苹果等等知名站点的新品页面,以及360.百度等网站的专题页面越来越采用分屏滚动的风格. 当然实现这种风格的方法有多种 ...
- C语言跟随鼠标画方框,JS拖动鼠标画出方框实现鼠标选区的方法
本文实例讲述了JS拖动鼠标画出方框实现鼠标选区的方法.分享给大家供大家参考.具体如下: 相当实用的一个JS技巧,拖动鼠标可画出一个方框,可作为一个选区的功能,可以用来画流程图,设计草图什么的,也可以作 ...
最新文章
- 小工具-销售订单概览屏幕的特性显示
- 三十三、Java集合中的LinkedList
- 沉浸式ui设计_有助于沉浸的视频游戏UI —武器轮
- 算法题目——整数划分(HRBUST-2004)
- vue样式绑定与事件处理器的基本使用
- oracle19c监听服务启动失败,Oracle19c安装(有失败成功记录)
- [Node.js] 模块化 -- express模块
- spring mvc后端代码实现弹出对话框_伟源|一图搞定Spring框架
- MindManager中读图工具的使用
- 2287 poj 田忌赛马,贪心
- mopso算法代码程序_程序员如何跨越35岁危机?这篇给点干货建议!
- win2003群集cluster下SQL2005和sp3补丁安装配置3
- matlab数字电路仿真,MATLAB环境下的数字电路仿真
- 小米手机相机的专业模式
- .net中获取MD5码
- 今日早报 每日精选12条新闻简报 每天一分钟 知晓天下事 9月24日
- 【Hive】Hive练习题(三)
- 万得-python接口-获取数据
- 高通平台camera客观项测试之色彩偏差白平衡饱和度
- 用计算机来画出整个方格图,怎么画小学数学中的方格图