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è)知識點(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è)是給對象增加監(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ā)輪播圖、相冊滑動(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)文章
一文教你用純JS實(shí)現(xiàn)一個(gè)五子棋游戲
實(shí)現(xiàn)一個(gè)五子棋游戲, 簡要分析其原理, 頁面并沒有很花哨, 原理搞懂了, 后面的就是很輕松的事了,本文給大家介紹了如何用純JS實(shí)現(xiàn)一個(gè)五子棋游戲,文中通過代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12Javascript獲取隨機(jī)數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狫avascript獲取隨機(jī)數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06css 二級菜單 實(shí)現(xiàn)代碼集合 修正版
最近的網(wǎng)站要求使用二級菜單,本著“能用別人的就用別人的,不能用別人的就用自己的”的原則,在網(wǎng)上找到一個(gè)經(jīng)典的使用CSS制作的二級菜單,感覺不錯(cuò),先記錄下來,以備它用。2009-06-06JavaScript實(shí)現(xiàn)Fly Bird小游戲
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)Fly Bird小游戲的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12用javascript控制iframe滾動(dòng)的代碼
用javascript控制iframe滾動(dòng)的代碼...2007-04-04JavaScript 程序執(zhí)行順序問題總結(jié)
今天總結(jié)下學(xué)習(xí)和開發(fā)中遇到的JavaScript執(zhí)行順序的問題,今天挖個(gè)坑,以后會(huì)慢慢填,也希望拋磚引玉,能學(xué)到更多的東西。2011-06-06js實(shí)現(xiàn)隨機(jī)點(diǎn)名功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)隨機(jī)點(diǎn)名功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12