Js控制滑輪左右滑動(dòng)實(shí)例
今天弄了一個(gè)東西,頁面本來是橫向,所以底部有橫向滾動(dòng)條,豎著就沒有滾動(dòng)條了,現(xiàn)在要求是鼠標(biāo)滑輪要左右滾動(dòng),這就需要寫js代碼來實(shí)現(xiàn)了,寫這個(gè)的過程中遇到很大麻煩
ie 火狐 chrome 三個(gè)瀏覽器支持的函數(shù)完全不一樣,真是瘋啦。
這里有幾個(gè)知識(shí)點(diǎn)說明一下
監(jiān)控滑輪的事件
ie:onmousewheel
firfox:DOMMouseScroll
chrome:mousewheel
哎真是無語
滾動(dòng)的返回值也是不一樣的
firfox用detail 返回 +-3
其他的用wheelDelta 返回 +-120
有返回值判斷滾動(dòng)的方向
還有一般瀏覽器除了chrome判斷頁面的左移動(dòng)用document.documentElement.scrollLeft
但是chrome瀏覽器要用document.body.scrollLeft
好了代碼分享如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標(biāo)題文檔</title>
</head>
<body>
<div id="test" style="width:3000px; height:500px; background:#666;"></div>
<script language="javascript">
var dbody=document.getElementById('test');
//ff用
objAddEvent(document,'DOMMouseScroll', function(e){return mouse_scroll(e);})
//非ff chrome 用
objAddEvent(document,'mousewheel', function(e){return mouse_scroll(e);})
//chrome用
objAddEvent(dbody,'mousewheel', function(e){return mouse_scroll(e);})
function mouse_scroll(e){
e=e || window.event;
var delD=e.wheelDelta?e.wheelDelta: -e.detail*40;//判斷上下方向
var move_s=delD>0?-50:50;
document.documentElement.scrollLeft+=move_s; //非chrome瀏覽器用這個(gè)
//chrome瀏覽器用這個(gè)
if(document.documentElement.scrollLeft==0)document.body.scrollLeft+=move_s;
return false;
}
//這個(gè)是給對(duì)象增加監(jiān)控方法的函數(shù)
function objAddEvent(oEle, sEventName, fnHandler)
{
if(oEle.attachEvent) oEle.attachEvent('on'+sEventName, fnHandler);
else oEle.addEventListener(sEventName, fnHandler, false);
}
</script>
</body>
</html>
這個(gè)代碼其實(shí)有點(diǎn)問題就是在chrome瀏覽器下只有鼠標(biāo)放到那個(gè)灰色內(nèi)才能滑動(dòng),這個(gè)問題我一直沒有解決掉,如果那個(gè)高手解決可以留言告訴我,謝謝了。
- js實(shí)現(xiàn)touch移動(dòng)觸屏滑動(dòng)事件
- js實(shí)現(xiàn)支持手機(jī)滑動(dòng)切換的輪播圖片效果實(shí)例
- 原生js實(shí)現(xiàn)移動(dòng)開發(fā)輪播圖、相冊(cè)滑動(dòng)特效
- 用原生js做個(gè)簡單的滑動(dòng)效果的回到頂部
- js判斷橫豎屏及禁止瀏覽器滑動(dòng)條示例
- 簡單通用的JS滑動(dòng)門代碼
- js通用滑動(dòng)門類
- js自動(dòng)滑動(dòng)+鼠標(biāo)滑動(dòng)區(qū)域
- 一個(gè)js實(shí)現(xiàn)的所謂的滑動(dòng)門
- js實(shí)現(xiàn)滑動(dòng)觸屏事件監(jiān)聽的方法
相關(guān)文章
JavaScript ES6中export、import與export default的用法和區(qū)別
這篇文章主要給大家介紹了JavaScript ES6中export、import與export default的用法和區(qū)別,文中介紹的非常詳細(xì),相信對(duì)大家學(xué)習(xí)ES6會(huì)有一定的幫助,需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03
在一個(gè)js文件里遠(yuǎn)程調(diào)用jquery.js會(huì)在ie8下的一個(gè)奇怪問題
這樣的腳本你在ie8下調(diào)用,在ie8地址欄下按下回車后調(diào)用jquery的對(duì)像、方法什么的沒有問題,但是刷新之后就有問題。就是刷新之后無論怎樣你要在地址欄按一下回車。2010-11-11
JS動(dòng)態(tài)創(chuàng)建Table,Tr,Td并賦值的具體實(shí)現(xiàn)
這篇文章介紹了JS動(dòng)態(tài)創(chuàng)建Table,Tr,Td并賦值的具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-07-07
javascript自動(dòng)給文本url地址增加鏈接的方法分享
這篇文章主要介紹了javascript自動(dòng)給文本url地址增加鏈接的方法,有需要的朋友可以參考一下2014-01-01
Javascript中3個(gè)需要注意的運(yùn)算符
這篇文章主要介紹了Javascript中3個(gè)需要注意的運(yùn)算符,這3個(gè)運(yùn)算符的使用有很多需要注意的地方和有意思的地方,需要的朋友可以參考下2015-04-04

