js实现滚轮改变元素的高度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body style="height: 2000px;">
    <div style="width: 100px;height: 100px;background: red;position: absolute;"></div>
    </body>
    <script>
        //获取div
        var div = document.querySelector('div');
        div.onmousewheel = function(e){
            var ev = window.event || e;
			console.log(div.clientHeight);
            //获取事件对象的 wheelDelta属性  监听滚轮滚动方向
            if(ev.wheelDelta>0){
                //向上滚动  让div高度减小 10px
                var h = div.clientHeight;
                h-=10;
                div.style.height = h+'px';
            }else{
                //向下滚动  让div高度增大 10px
                var h = div.clientHeight;
                h+=10;
                div.style.height = h+'px';
                //阻止默认行为
                return false;
            }
        }
        if(div.addEventListener!=undefined){
            div.addEventListener('DOMMouseScroll',function(e){
                var ev = window.event || e;
				if(ev.detail<0){
				    //向上滚动  让div高度减小 10px
				    var h = div.clientHeight;
				    h-=10;
				    div.style.height = h+'px';
				}else{
				    //向下滚动  让div高度增大 10px
				    var h = div.clientHeight;
				    h+=10;
				    div.style.height = h+'px';
				    //阻止默认行为
				    ev.preventDefault();
				}
            }) 
        }
    </script>
</html>

 

posted @   JackieDYH  阅读(23)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示