javascript基礎(滾輪的事件)(三十七)
1.滾輪事件
<!DOCTYPE html>
<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可以跟隨滑鼠滾輪滾動來改變高度
//滾輪向下滾,div變高 滾輪向上滾 div變短
//獲取box1
var box1 = document.getElementById("box1");
/*
* onmousewheel
* - 滑鼠滾輪滾動的事件,但是該事件火狐瀏覽器並不支援
* - 在火狐中需要使用DOMMouseScroll,這個事件只能通過addEventListener()來繫結
*/
//為box1繫結一個滑鼠滾輪滾動的事件
box1.onmousewheel = function(event){
event = event || window.event;
//判斷滾輪滾動的方向
/*
* wheelDelta
* - 事件物件中的屬性,可以用來判斷滑鼠滾輪滾動的方向
* - 向下滾 -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來取消預設行為
* 需要呼叫事件物件 preventDefault()方法來取消預設行為
* 但是在IE8中沒有該方法
*/
event.preventDefault && event.preventDefault();
//當頁面中有滾動條時,由於滾輪滾動的預設行為會導致頁面整體下移
//取消預設行為
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>
相關文章
- JS基礎_滾輪的事件JS事件
- Javascript滑鼠滾輪事件相容寫法JavaScript事件
- javascript事件基礎知識JavaScript事件
- JavaScript基礎之事件eventJavaScript事件
- javascript基礎(事件的委派)(三十三)JavaScript事件
- javascript基礎(事件的冒泡)(三十二)JavaScript事件
- 學習 JS滾輪事件(mousewheel/DOMMouseScroll)JS事件
- javascript基礎(事件物件)(三十一)JavaScript事件物件
- javascript基礎(事件的傳播)(三十五)JavaScript事件
- javascript基礎(事件的繫結)(三十四)JavaScript事件
- 捕獲silverlight滾輪事件事件
- javascript基礎(鍵盤事件)(三十八)JavaScript事件
- 禁用input輸入框的滑鼠滾輪事件詳解事件
- JavaScript滑鼠中鍵滾動事件JavaScript事件
- JavaScript的基礎語法及DOM元素和事件JavaScript事件
- javascript基礎(html5輪播圖)(四十四)JavaScriptHTML
- hadoop基礎學習三十七(kylin的安裝)Hadoop
- 第三十七天:Ansible playbook基礎
- javascript基礎(滑鼠事件拖拽,setCapture()方法)(三十六)JavaScript事件APT
- jQ基礎篇–$(document).ready()和JavaScript onload事件JavaScript事件
- JS基礎 ---事件JS事件
- javascript基礎JavaScript
- 《HTML5+JavaScript動畫基礎》——第2章 動畫的JavaScript基礎2.1動畫基礎HTMLJavaScript動畫
- javascript基礎(DOM物件概述,事件,文件載入)(二十五)JavaScript物件事件
- JS模擬滾動條(有demo和原始碼下載,支援拖動 滾輪 點選事件)JS原始碼事件
- Javascript基礎之-thisJavaScript
- JavaScript基礎原理JavaScript
- JavaScript基礎10JavaScript
- JavaScript基礎8JavaScript
- JavaScript Promise(基礎)JavaScriptPromise
- JavaScript基礎(一)JavaScript
- JavaScript基礎(二)JavaScript
- JavaScript基礎1JavaScript
- JavaScript基礎2JavaScript
- 造了個滾輪控制元件輪子控制元件
- RecyclerView的滾動事件研究View事件
- [譯]基礎中的基礎,JavaScript中的值和引用JavaScript
- JavaScript 基礎卷(一):基礎語法JavaScript