javascript - JS怎样实现弹出层后,层能随鼠标滑轮能上下移动,页面不动?
怪我咯
怪我咯 2017-04-11 10:49:41
[JavaScript讨论组]

弹出一个层,上面的内容较多,想用鼠标滑轮上下滑动的时候,层上下移动,但是页面不动。
请教一下。这个效果用原生JS要怎么写呀?谢谢大神们!

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
天蓬老师

监听鼠标滚轮事件,触发 dom 元素的移动就可以了吧

PHP中文网

弹出层的时候 给 body 增加 样式 overflow:hidden 这个时候整个页面就不会滚动了
同时使用 @北去 提到的 给层增加 overflow-y:auto 这个时候层就可以滚动了

伊谢尔伦

弹出的层固定定位,设置宽高,然后overflow-y:auto 试试。

迷茫
<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #myPopUP{
            width:300px;
            height:300px;
            border:1px solid #cccccc;
            background-color: #ffffff;
            color:#000000;
            box-sizing: border-box;
            display: none;
        }
        #myPopUP .content{
            width:100%;
            height:250px;
            box-sizing: border-box;
            overflow:auto;
        }
        #myPopUP .actionBar{
            width:100%;
            height:50px;
            background-color: #cccccc;
            color:#000000;
            box-sizing: border-box;
            line-height: 50px;;
        }
    </style>
</head>
<input type="button" name="myButton"  id="myButton" value="POPUP">
<p id="myPopUP">
    <p class="content">
        <p style="background-color: #00a23f;width:100%;height:1000px;overflow: hidden">内容很多朵儿弧度第三方回送开放很舒服是SDK是</p>
    </p>
    <p class="actionBar">
        <p style="display: inline-block;float:right;margin-right:5px;"><input type="button" name="myCloseButton"  id="myCloseButton" value="Close" ></p>
    </p>
</p>
<p style="background-color: #1e83c9;widht:500px;height: 1000px;">
</p>
<script>

    var buttonDom=document.getElementById("myButton");
    var myPopUPDom=document.getElementById("myPopUP");
    var contentDom;
    var popupWidth=300;
    var popupHeight=300;

    buttonDom.addEventListener("click",function(){

        var fixedX=(document.documentElement.clientWidth-300)/2;
        var fixedY=(document.documentElement.clientHeight-300)/2;
        myPopUPDom.style.position="fixed";
        myPopUPDom.style.left=fixedX+"px";
        myPopUPDom.style.top=fixedY+"px";
        myPopUPDom.style.position="10px";
        myPopUPDom.style.display="block";
        document.body.style.overflow="hidden";
        myPopUPDom.setAttribute("popup","popup");

        contentDom= myPopUPDom.getElementsByClassName("content")[0];
        function closeHandler(event){
            myPopUPDom.style.display="none";
            document.getElementById("myCloseButton").removeEventListener("click",closeHandler,false);
            document.body.style.overflow="auto";
            contentDom=null;
        }

        document.getElementById("myCloseButton").addEventListener("click",closeHandler,false);

    },false);

    window.addEventListener("wheel",function(event){
        contentDom&&(contentDom.scrollTop=contentDom.scrollTop+event.deltaY)
    },false);

</script>
</body>
</html>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号