zoukankan      html  css  js  c++  java
  • 滚轮滚动事件

    滚轮滚动事件

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<style type="text/css">
    			#box1{
    				 100px;
    				height: 100px;
    				background-color: skyblue;
    			}
    		</style>
    		<script type="text/javascript">
    			window.onload=function(){
    				// 当鼠标滚轮向下滚动时,box1变长
    				// 当滚轮向上滚动时,box1变短
    				
    				var box1 = document.getElementById("box1");
    				
    				// 为box1绑定一个鼠标滚轮滚动事件
    				/*
    				onmousewheel鼠标滚轮滚动的事件,会在滚轮滚动时触发
    				但是火狐不支持该属性
    				
    				
    				在火狐中需要使用DOMMouseScroll 来绑定滚动时间
    				  该事件需要通过addEventListener()函数调用
    				*/
    				box1.onmousewheel=function(event){
    					event = event || window.event;
    					/*
    					判断鼠标滚轮滚动的方向
    					event.wheelDelta 可以获取鼠标滚轮滚动的方向
    					向上滚  120  向下滚 -120
    					wheelDelta这个值不看大小,只看正负
    					*/
    				   // alert(event.wheelDelta);
    				   
    				   // wheelDelta这个属性火狐中不支持
    				   // 在火狐中使用event.datail来获取滚动
    				   // 向上滚-3 向下滚3
    				   
    				   // alert(event.detail);
    				   
    				   
    				   // 判断鼠标滚轮滚动的方向
    				   if(event.wheelDelta > 0 || event.detail <0){
    					   // alert("向上")
    					   box1.style.height=box1.clientHeight-10+"px";
    				   }else{
    					    box1.style.height=box1.clientHeight+10+"px";
    				   }
    				   
    				   /*
    				   当滚轮滚动时,如果浏览器有滚动条,滚动条会随之滚动
    				   这是浏览起的默认行为  如果不希望发生  可以取消
    				   */
    				  return false;
    				  
    				  // 使用addEventListener()方法绑定响应函数,取消默认行为时不能使用return return false;
    				  // 需要使用event来取笑默认行为 event.preventDefault();
    				  // IE8不支持event.preventDefault();
    				  event.preventDefault&&event.preventDefault();
    				}
    				
    				bind(box1,"DOMMouseScroll",function(){
    					alert(1);
    				})
    			}
    			function bind(obj,eventStr,callback){
    				if(obj.addEventListener){
    					// 大部分浏览器兼容的方式
    					obj.addEventListener(eventStr,callback,false);
    				}else{
    					/*
    					this是谁由调用方式决定的
    					callbank.call(obj)
    					*/
    					// IE8及以下
    					obj.attachEvent("on"+eventStr,function(){
    						// 在匿名函数中调用回掉函数
    						callback.call(obj);
    					});
    				}
    			}
    			
    		</script>
    	</head>
    	<body>
    		<div id="box1"></div>
    	</body>
    </html>
    
    
  • 相关阅读:
    .net实现依赖注入
    Model Validation(模型验证)
    TCP应用
    Jquery框架
    Fiddler工具
    Oracle从11.2.0.2开始,数据库补丁包是一个完整安装包(转)
    java路径中的空格问题(转)
    分析Java的类加载器与ClassLoader(二):classpath与查找类字节码的顺序,分析ExtClassLoader与AppClassLoader的源码
    java中path和classpath
    velocity-1.7中vm文件的存放位置
  • 原文地址:https://www.cnblogs.com/SSPOFA/p/12064029.html
Copyright © 2011-2022 走看看