首页 > 其他分享 >直播平台开发,利用原生JS实现回到顶部以及吸顶效果

直播平台开发,利用原生JS实现回到顶部以及吸顶效果

时间:2023-08-29 14:12:22浏览次数:45  
标签:顶部 oSt 距离 JS 滚动条 直播 nav 吸顶

直播平台开发,利用原生JS实现回到顶部以及吸顶效果

 

 <style>
        .box1{
            width: 1200px;
            height: 800px;
           
            margin: 0 auto;
        }
        .box2{
            width: 1200px;
            height: 800px;
            background-color:palegreen;
            margin: 0 auto;
        }
        /* 设置了box1 box2的高度都为800px 是为了页面出现滚动条 */
        .gotop {
            position: fixed;
            bottom: 50px;
            right: 5px;
            width: 70px;
            height: 50px;
            text-align: center;
            line-height: 50px;
            color: #fff;
            background-color: aquamarine;
        }
        /* gotop去顶部 固定定位 定在底部  */
 
        .nav {
            width: 1200px;
            height: 30px;
            background-color: yellow;
            position: fixed;
            top: 0;
            left: 50%;
            transform: translate(-50%);
            display: none;
        }
        /* nav头部的导航栏 固定定位 同时让它隐藏 */
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="gotop">回到顶部</div>
    <div class="nav"></div>
</body>
<script>
    //实现回到顶部效果
    var oGo = document.querySelector(".gotop");//获取去顶部的元素
    var timer = null;//把定时器置为空
    oGo.onclick = function () {//点击事件 
        clearInterval(timer);//清除定时器
        timer = setInterval(function () {
            document.documentElement.scrollTop -= 10;//滚动条每次距离顶部的距离减10
            var oSt = document.documentElement.scrollTop;//获取滚动条距离顶部的距离
            console.log(oSt);
            if (oSt === 0) {
                clearInterval(timer);//如果距离顶部距离为0 清除定时器
            }
        }, 20);
    }
    //实现吸顶效果
    window.onscroll = function () {//滚动监听事件
        var oNav = document.querySelector(".nav");//获取导航nav里元素
        var oSt = document.documentElement.scrollTop;//获取滚动条距离顶部的距离
        if (oSt >= 100) {
            oNav.style.display = "block";//如果滚动条距离顶部的距离大于100 显示导航nav
        } else {
            oNav.style.display = "none";//否则不显示
        }
    }
</script>

思路:

1.回到顶部

        1.需要出现滚动条(设置了box1 box2的高度都为800px ,也可以只设置一个盒子,高度设置大一点,出现滚动条即可)。

 

        2.回到顶部的固定定位设置(利用固定定位 定在底部)。

 

        3.设置点击事件onclick(点击回到顶部触发事件)。

 

        4.设置定时器可以改变滚动条距离顶部的距离(还需要进行判断,如果距离顶部距离为0时,要清除定时器,不然会一直调用,占用内存)。

 

2.吸顶效果

        1.利用滚动监听事件 window.onscroll。

 

        2.设置一个nav导航的盒子,固定定位 ,同时让它隐藏。

 

        3.获取滚动条距离顶部的距离,然后进行判断。如果滚动条距离顶部的距离大于100 显示导航nav,否则都是隐藏不显示(这里的高度可以自己设置)。

 以上就是 直播平台开发,利用原生JS实现回到顶部以及吸顶效果,更多内容欢迎关注之后的文章

 

标签:顶部,oSt,距离,JS,滚动条,直播,nav,吸顶
From: https://www.cnblogs.com/yunbaomengnan/p/17664591.html

相关文章

  • Gson与FastJson详解
    Gson与FastJson详解Java与JSON做什么?将Java中的对象快速的转换为JSON格式的字符串.将JSON格式的字符串,转换为Java的对象.Gson将对象转换为JSON字符串转换JSON字符串的步骤:引入JAR包在需要转换JSON字符串的位置编写如下代码即可:Stringjson=newGson().toJSON(要转换的对象......
  • 园子的脱困努力-线上大会合作:欢迎预约直播——2023腾讯全球数字生态大会 + 腾讯云微服
    在园子脱困的关键时期,每一笔收入都很重要,一边在会员救园,一边我们要努力把握每一个商务合作机会,争取早日走出困境。之前园子维持生存的收入主要来自于与云厂商的合作,但去年由于云厂商推广策略的调整,这块收入几乎没有了。当我们对这块收入不报任何希望时,这个月开始,有些云厂商又回......
  • js找出一定范围内的全部素数(埃拉托斯特尼筛法Sieve of Eratosthenes)
    最近在看js的基础,看到函数这一章的时候,看到了这种写法。 原文链接:https://zh.javascript.info/function-basics突然懵了个B,js还能这么写。然后问了下chat,才想起来这是js的标签用法。在JavaScript中,标签(label)是一种标识符,用于标记代码中的特定位置,通常是在循环语句中使用。标......
  • Gson与FastJson详解
    Gson与FastJson详解Java与JSON做什么?将Java中的对象快速的转换为JSON格式的字符串.将JSON格式的字符串,转换为Java的对象.Gson将对象转换为JSON字符串转换JSON字符串的步骤:引入JAR包在需要转换JSON字符串的位置编写如下代码即可:Stringjson=newGson().toJSON(......
  • 017-管理后台通用js提取
    //定义全局常量,可供全局使用varzhuhuo={config:{},//bootstrap-table属性配置信息options:{},/***参数初始化*/set:function(id){ //判断配置信息里面是否有值,且当前的事件监听不为空if($.tools.getLength(zhuhu......
  • nodejs的安装及使用
    安装打开Node.js的官网并下载适用于你操作系统的安装包。Node.js提供了Windows、Mac和Linux的安装包。下载完成后,双击安装包运行安装向导。按照提示一步步进行安装。在安装过程中可以选择自定义安装路径,也可以使用默认路径【强烈建议安装在C盘】安装完成后,打开命令提示符(Windo......
  • 行行AI人才直播第17期:无界AI联合创始人马千里《AIGC,比生产力还多》
    谁也没有想到,短短几个月内,AI就在各行各业掀起了一阵狂风暴雨。ChatGPT、StableDiffusion、Midjourney……AI已经变得十八般武艺样样精通,不仅能够高效率完成很多日常工作,还能为人提供源源不断的灵感。同样火爆的AI绘画领域,AI已经在短时间内就取代了动漫、游戏、设计等领域人类从业......
  • 从零开始:开发高效直播带货系统源码的关键步骤与源码实现
    直播带货系统结合了实时互动和购物体验,为品牌和消费者之间建立了更紧密的联系。本文将介绍开发高效直播带货系统的关键步骤,并深入探讨其中的源码实现。第一步:项目规划与架构设计在开发直播带货系统之前,首先需要进行全面的项目规划与架构设计。这包括明确系统的功能需求、用户角色、......
  • 直播预约丨《实时湖仓实践五讲》第一讲:企业为什么需要实时湖仓?
    如今,大规模、高时效、智能化数据处理已是“刚需”,企业需要更强大的数据平台,来应对数据查询、数据处理、数据挖掘、数据展示以及多种计算模型并行的挑战,湖仓一体方案应运而生。《实时湖仓实践五讲》是袋鼠云打造的系列直播活动,将围绕实时湖仓的建设趋势和通用问题,邀请奋战于企业数......
  • Java 15 JSTL实现登录退出
     jstl.jsp<%@pagecontentType="text/html;charset=UTF-8"language="java"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%--if--%><%@taglibprefix="fmt"uri=&......