js实现淘宝固定侧边栏

 更新时间:2022年07月03日 13:58:05   作者:阿旋要毕业~  
这篇文章主要为大家详细介绍了js实现淘宝固定侧边栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了js实现淘宝固定侧边栏的具体代码,供大家参考,具体内容如下

1.实现效果:

当页面运行到banner区域时,右边侧边栏改为固定定位,当页面运行到主体区域时,右边侧边栏显示返回到顶部。

2.思路:

(1)给document加scroll事件。

(2)获取页面被卷去的部分用window.pageYOffset.

(3)不断判断页面滚动了多少。计算右边侧边栏应该待的位置。

3.代码:

pink老师用了固定定位fixed(固定定位是相对于窗口的距离),我做的还是用绝对定位(绝对定位是相对于父元素来说的,即document),都是可以实现的。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .top {
            width: 80%;
            height: 200px;
            background-color: pink;
        }
        .banner {
            width: 80%;
            height: 400px;
            background-color: aquamarine;
        }
        .main {
            width: 80%;
            height: 800px;
            background-color: red;
        }
        .foot {
            width: 80%;
            height: 400px;
            background-color:blanchedalmond;
        }
        .lan {
            position: absolute;
            right:10%;
            top:400px;
            width: 80px;
            height: 80px;
            background-color: cadetblue;
        }
    </style>
</head>
<body>
    <div class="top">头部区域</div>
    <div class="banner">banner区域</div>
    <div class="main">头部区域</div>
    <div class="foot">尾部区域</div>
    <div class="lan"></div>
    <script>
        var lan = document.querySelector('.lan');
        document.addEventListener('scroll', function() {
            console.log('jkjkkj');
            var top = window.pageYOffset;
            if(top  > 200) {
                // 改为固定定位。
                var topp = 400-200 + top;
                lan.style.top = topp+'px';
                if(top > 600) {
                    lan.innerHTML = '返回顶部';
                } else {
                    lan.innerHTML = '';
                }
 
            } else {
                lan.style.top = 400+'px';
                lan.innerHTML = '';
            }
        })
    </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • javascript实现状态栏中文字动态显示的方法

    javascript实现状态栏中文字动态显示的方法

    这篇文章主要介绍了javascript实现状态栏中文字动态显示的方法,涉及JavaScript基于时间函数动态操作页面元素属性的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • javascript object array方法使用详解

    javascript object array方法使用详解

    在javascript开发中经常会使用到array中方法,本文将对其一一详细介绍,需要了解的朋友可以参考下
    2012-12-12
  • 微信小程序全局变量改变监听的实现方法

    微信小程序全局变量改变监听的实现方法

    这篇文章主要给大家介绍了关于微信小程序全局变量改变监听的实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用微信小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • JavaScript中的标签语句用法分析

    JavaScript中的标签语句用法分析

    这篇文章主要介绍了JavaScript中的标签语句用法,实例分析了标签语句的功能、定义及相关使用技巧,需要的朋友可以参考下
    2015-02-02
  • js中根据字数截取字符串,不能截断url

    js中根据字数截取字符串,不能截断url

    给一个文字,对输出的文字进行截取,保留400个字符,其中对url的保留比较麻烦,尤其是有两个相同url时不能采用indexOf获取其字符位置
    2012-01-01
  • Js md5加密网页版MD5转换代码

    Js md5加密网页版MD5转换代码

    Js实现网页上的MD5加密功能,将文字转换为MD5字符,本代码调用简单,你可以新建一个网页,将此网页上传到你的服务器上,用户浏览网页,就可实现MD5加密转换功能,用户可方便查询任一字符的MD5码,很不错的功能
    2013-03-03
  • 15个用于开发的TypeScript高级技巧分享

    15个用于开发的TypeScript高级技巧分享

    这篇文章主要来和大家分享一下15个用于开发的TypeScript高级技巧,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-07-07
  • js 时间函数应用加、减、比较、格式转换的示例代码

    js 时间函数应用加、减、比较、格式转换的示例代码

    时间函数应用加、减、比较、格式转换等等,具体实现如下,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • 前端开发基础javaScript的六大作用

    前端开发基础javaScript的六大作用

    这篇文章主要介绍了前端开发基础javaScript的六大作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • javascript oop开发滑动(slide)菜单控件

    javascript oop开发滑动(slide)菜单控件

    这里因为是演示所以让HTML CSS尽量的简化,另外使用jquery的 fn.slideUp fn.slideDown 实现起来会更容易不过我作为一个专业的开发者多了解些原生的JS对技术的提高还是很有帮助。
    2010-08-08

最新评论