html 中 鼠标滑轮实现横向滚动

之前看到一个网页,有鼠标滚轮滚动时实现了横向的滚动效果,觉得有意思,就试了试,本来想挺简单的一个功能,但是兼容各浏览器就要费些功夫了


HTML和CSS代码


<style type="text/css">

		img{
			height:200px;
		}
		#scrollDiv{
			display: inline-block;
			float: left;
			overflow-x: auto;
			white-space:nowrap;
		}		

	</style>

<div  id = "scrollDiv" >					
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t1948/155/1535759852/15649/2cba8c4b/56615b6fN6a873846.jpg" class="uploadImg" alt="" id="localfile" > 
	<img src="http://img30.360buyimg.com/jr_image/jfs/t2089/259/1344864990/31575/e10681a6/56567151N00597360.jpg" class="uploadImg" alt="" id="localfile" >
	<img src="http://img30.360buyimg.com/jr_image/jfs/t2320/340/1246298565/41235/6a164b17/5652bcb7Na9f44ab3.jpg" class="uploadImg" alt="" id="localfile" >  
	</div>	 

js代码

在chrome 中 设置 document.documentElement.scrollLeft 都会为0,但是可以设置 document.body.scrollLeft,因此 需要进行浏览器判断,同时在FireFox下,没有mousewheel事件,但是FireFox增加了DOMMouseScroll事件;

var scrollDiv = document.getElementById("scrollDiv");

    var element =  document.documentElement;
    if(navigator.userAgent.indexOf("Chrome")>0){
    	element = document.body;
    }

    document.addEventListener('DOMMouseScroll',handler,false)
    document.addEventListener('mousewheel',handler,false)
    function handler(event){
		var detail = event.wheelDelta || event.detail;
		var moveForwardStep = 1;
		var moveBackStep = -1;
		var step = 0;	
		if(detail > 0){
				step = moveForwardStep*100;
		}else{
			step = moveBackStep * 100;
		}
			
		element.scrollLeft += step;	

	}  


document.body 和 document.documentElement的区别

document.body 是DOM对象里的body子节点,即 <body> 标签;

document.documentElement 是整个节点树的根节点root,即<html> 标签;




  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值