javascript滾輪事件基礎(chǔ)實(shí)例講解(37)
本文實(shí)例為大家分享了js滾輪事件的具體代碼,供大家參考,具體內(nèi)容如下
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box1{
width: 100px;
height: 100px;
background-color: red;
}
</style>
<script type="text/javascript">
window.onload = function(){
//使div可以跟隨鼠標(biāo)滾輪滾動來改變高度
//滾輪向下滾,div變高 滾輪向上滾 div變短
//獲取box1
var box1 = document.getElementById("box1");
/*
* onmousewheel
* - 鼠標(biāo)滾輪滾動的事件,但是該事件火狐瀏覽器并不支持
* - 在火狐中需要使用DOMMouseScroll,這個(gè)事件只能通過addEventListener()來綁定
*/
//為box1綁定一個(gè)鼠標(biāo)滾輪滾動的事件
box1.onmousewheel = function(event){
event = event || window.event;
//判斷滾輪滾動的方向
/*
* wheelDelta
* - 事件對象中的屬性,可以用來判斷鼠標(biāo)滾輪滾動的方向
* - 向下滾 -120 向上滾 +120
* - 該屬性的值并不重要,重要的是值的符號,需要通過符號來判斷滾動的方向
* - 但是該屬性火狐瀏覽器并不支持
*/
//alert(event.wheelDelta);
/*
* 火狐中通過detail來判斷方向
* - 向上滾 -3 向下滾 +3
*/
//alert(event.detail);
if(event.wheelDelta < 0 || event.detail > 0){
//向下滾
//增加box1的高度
box1.style.height = box1.offsetHeight + 10 + "px";
}else{
//向上滾
//減小box1的高度
box1.style.height = box1.offsetHeight - 10 + "px";
}
/*
* 使用addEventListener()綁定的事件,不能通過return false來取消默認(rèn)行為
* 需要調(diào)用事件對象 preventDefault()方法來取消默認(rèn)行為
* 但是在IE8中沒有該方法
*/
event.preventDefault && event.preventDefault();
//當(dāng)頁面中有滾動條時(shí),由于滾輪滾動的默認(rèn)行為會導(dǎo)致頁面整體下移
//取消默認(rèn)行為
return false;
};
bind(box1 , "DOMMouseScroll" , box1.onmousewheel);
};
function bind(obj , eventStr , callback){
if(obj.addEventListener){
//如果是正常瀏覽器
obj.addEventListener(eventStr , callback , false);
}else{
//IE8
obj.attachEvent("on"+eventStr , function(){
callback.call(obj);
});
}
}
</script>
</head>
<body style="height: 3000px;">
<div id="box1"></div>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js驗(yàn)證整數(shù)加保留小數(shù)點(diǎn)的簡單實(shí)例
這篇文章主要介紹了js驗(yàn)證整數(shù)加保留小數(shù)點(diǎn)的簡單實(shí)例,有需要的朋友可以參考一下2013-12-12
JavaScript獲取當(dāng)前網(wǎng)頁最后修改時(shí)間的方法
這篇文章主要介紹了JavaScript獲取當(dāng)前網(wǎng)頁最后修改時(shí)間的方法,涉及javascript中document.lastModified屬性的使用技巧,需要的朋友可以參考下2015-04-04
JS簡單實(shí)現(xiàn)禁止訪問某個(gè)頁面的方法
這篇文章主要介紹了JS簡單實(shí)現(xiàn)禁止訪問某個(gè)頁面的方法,涉及基本的頁面跳轉(zhuǎn)操作技巧,需要的朋友可以參考下2016-09-09
JavaScript返回網(wǎng)頁中錨點(diǎn)數(shù)目的方法
這篇文章主要介紹了JavaScript返回網(wǎng)頁中錨點(diǎn)數(shù)目的方法,涉及javascript使用document.anchors獲取錨點(diǎn)數(shù)目的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
js與jQuery實(shí)現(xiàn)的用戶注冊協(xié)議倒計(jì)時(shí)功能實(shí)例【三種方法】
這篇文章主要介紹了js與jQuery實(shí)現(xiàn)的用戶注冊協(xié)議倒計(jì)時(shí)功能,結(jié)合實(shí)例形式分析了三種倒計(jì)時(shí)功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-11-11
swiper 自動圖片無限輪播實(shí)現(xiàn)代碼
今天移動端正好需要圖片觸摸滑動效果實(shí)現(xiàn)代碼,基于swiper實(shí)現(xiàn),需要的朋友可以參考下2018-05-05
js防抖函數(shù)和節(jié)流函數(shù)使用場景和實(shí)現(xiàn)區(qū)別示例分析
這篇文章主要介紹了js防抖函數(shù)和節(jié)流函數(shù)使用場景和實(shí)現(xiàn)區(qū)別,結(jié)合實(shí)例形式詳細(xì)分析了js防抖函數(shù)和節(jié)流函數(shù)基本功能、定義、用法區(qū)別及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04

