0
点赞
收藏
分享

微信扫一扫

页面跟随广告

认真的老去 2021-09-24 阅读 40
基础前端

有时候上网发现,在浏览器打开一个网址,尤其是以前的老网址,旁边很多有广告板,我们滑动屏幕的时候。它会一直跟着滑动的页面走。这个效果的实现,我第一次想的是像页面的返回顶部按钮一样,使用的固定定位来实现。固定定位是可以的就是不能有动画的效果,一直呆在页面上,像个死鱼似的,所以我们来一起把它变得好看一点。

原理揭示


我们只需要动态刷新盒子到页面顶部的距离图中编号五的距离,也就是编号1 和 编号 4 的和。编号一就是编号三和编号二只差的一半。
附上源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>页面跟随广告</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        body {
            height: 10000px;
        }
        .box {
            width: 100px;
            height: 200px;
            background-color: #f0f;
            position: absolute;
            margin-left: 100px;
            transition: all 1s ease 0s;
         }
         .box:hover {
            transform: scale(1.1);
         }
    </style>
</head>
<body>
    <div class="box" id="box"></div>
    <script src="js/jquery-1.12.3.min.js"></script>
    <script>
        //浏览器的宽
        var A = document.documentElement.clientHeight;
        //元素的宽
        //$("#box").get(0).offsetHeight = $("#box").outerHeight();
        var B = $("#box").outerHeight();
        function move(){
            //页面的滚动值
            var C = document.documentElement.scrollTop;
            var top = C + ( A - B ) / 2;
            $("#box").animate({"top": top},10);
        }
        move();
        window.onscroll = move;
        //检测浏览器的大小是否发生变化
        window.onresize = move;
    </script>
</body>
</html>
举报

相关推荐

0 条评论