小编给大家分享一下javascript滚轮事件的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
具体内容如下
<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 >
<div id="box1"></div>
</body>
</html>
看完了这篇文章,相信你对“javascript滚轮事件的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。