我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript实现跟随广告的代码怎么编写

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript实现跟随广告的代码怎么编写

本篇文章为大家展示了JavaScript实现跟随广告的代码怎么编写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

浮动广告是目前网站很常见的一种广告形式,浮动广告能实时跟随用户的浏览,有效的传达产品要表达的意思,达到很好的传播效果。那么浮动广告是怎么实现的呢,其实实现浮动广告并不难,具体如下:

* {            margin: 0;            padding: 0;        }                img {            position: absolute;            left: 0;        }                p {            text-align: center;            line-height: 40px;        }
<img class="lazy" data-src="images/left_ad.png" alt="">    <p>我是正文1</p>    <p>我是正文2</p>    <p>我是正文3</p>    <p>我是正文4</p>    <p>我是正文5</p>    <p>我是正文6</p>    <p>我是正文7</p>    <p>我是正文8</p>    <p>我是正文9</p>    <p>我是正文10</p>    <p>我是正文11</p>    <p>我是正文12</p>    <p>我是正文13</p>    <p>我是正文14</p>    <p>我是正文15</p>    <p>我是正文16</p>    <p>我是正文17</p>    <p>我是正文18</p>    <p>我是正文19</p>    <p>我是正文20</p>    <p>我是正文21</p>    <p>我是正文22</p>    <p>我是正文23</p>    <p>我是正文24</p>    <p>我是正文25</p>    <p>我是正文26</p>    <p>我是正文27</p>    <p>我是正文28</p>    <p>我是正文29</p>    <p>我是正文30</p>    <p>我是正文31</p>    <p>我是正文32</p>    <p>我是正文33</p>    <p>我是正文34</p>    <p>我是正文35</p>    <p>我是正文36</p>    <p>我是正文37</p>    <p>我是正文38</p>    <p>我是正文39</p>    <p>我是正文40</p>    <p>我是正文41</p>    <p>我是正文42</p>    <p>我是正文43</p>    <p>我是正文44</p>    <p>我是正文45</p>    <p>我是正文46</p>    <p>我是正文47</p>    <p>我是正文48</p>    <p>我是正文49</p>    <p>我是正文50</p>
//1.拿到需要操作的元素        const oAdImg = document.querySelector("img");         //2.计算广告图片top的值=(视口高度-广告高度)/2        const screenHeight = getScreen().height;        const imgHeight = oAdImg.offsetHeight;        const offsetY = (screenHeight - imgHeight) / 2;        // console.log(offsetY);         //3.将计算之后的top值,设置给广告图片        // oAdImg.style.top = offsetY + 'px';        easeAnimation(oAdImg, {            "top": offsetY        });         //4.监听网页的滚动事件        window.onscroll = function() {            //获取到网页滚动的距离            //广告图片top的值+网页滚动的距离            let pageOffsetY = getPageScroll().y;            easeAnimation(oAdImg, {                "top": offsetY + pageOffsetY            });        };         // 浏览器视口宽高        function getScreen() {            let width, height;            if (window.innerWidth) {                width = window.innerWidth;                height = window.innerHeight;            } else if (document.compatMode === "BackCompat") {                width = document.body.clientWidth;                height = document.body.clientHeight;            } else {                width = document.documentElement.clientWidth;                height = document.documentElement.clientHeight;            }            return {                width: width,                height: height            }        }         // 缓动动画        function easeAnimation(ele, obj, fn) {            clearInterval(ele.timerId);            ele.timerId = setInterval(function() {                // flag变量用于标记是否所有的属性都执行完了动画                let flag = true;                 for (let key in obj) {                    let target = obj[key];                     // 1.拿到元素当前的位置                    let style = getComputedStyle(ele);                    let begin = parseInt(style[key]) || 0;                     // 2.定义变量记录步长                    // 公式: (结束位置 - 开始位置) * 缓动系数(0 ~1)                    let step = (target - begin) * 0.3;                     // 3.计算新的位置                    begin += step;                    if (Math.abs(Math.floor(step)) > 1) {                        flag = false;                    } else {                        begin = target;                    }                    // 4.重新设置元素的位置                    ele.style[key] = begin + "px";                }                 //判断动画是否执行完                if (flag) {                    //动画执行完后关闭定时器                    clearInterval(ele.timerId);                     //判断是否传入fn函数,有才执行反之不执行                    fn && fn();                }            }, 100);        }         // 网页滚动距离        function getPageScroll() {            let x, y;            if (window.pageXOffset) {                x = window.pageXOffset;                y = window.pageYOffset;            } else if (document.compatMode === "BackCompat") {                x = document.body.scrollLeft;                y = document.body.scrollTop;            } else {                x = document.documentElement.scrollLeft;                y = document.documentElement.scrollTop;            }            return {                x: x,                y: y            }        }

效果图

JavaScript实现跟随广告的代码怎么编写

上述内容就是JavaScript实现跟随广告的代码怎么编写,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript实现跟随广告的代码怎么编写

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript实现跟随广告的代码怎么编写

本篇文章为大家展示了JavaScript实现跟随广告的代码怎么编写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。浮动广告是目前网站很常见的一种广告形式,浮动广告能实时跟随用户的浏览,有效的传达产品要
2023-06-25

基于JS实现弹性漂浮广告的示例代码怎么写

这期内容当中小编将会给大家带来有关基于JS实现弹性漂浮广告的示例代码怎么写,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。效果图1.功能(鼠标移入移出事件、点击事件、定时器控制移动)div实现在页面上移动,
2023-06-26

react dva实现的代码怎么编写

今天就跟大家聊聊有关react dva实现的代码怎么编写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。dvadva是一个基于redux和redux-saga的数据流方案,然后为了简化
2023-06-25

Javascript实现call,bind,apply的代码怎么写

这篇文章主要介绍了Javascript实现call,bind,apply的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Javascript实现call,bind,apply的代码怎么写文章都会有所收
2023-06-29

python实现烟花的实例代码怎么编写

本篇文章给大家分享的是有关python实现烟花的实例代码怎么编写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现代码如下:# -*- coding: utf-8 -*-imp
2023-06-22

JavaScript实现扫雷小游戏的代码怎么写

这篇文章主要介绍“JavaScript实现扫雷小游戏的代码怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript实现扫雷小游戏的代码怎么写”文章能帮助大家解决问题。思路:1产生指定
2023-07-02

JavaScript实现拖动模态框的代码怎么写

这篇文章主要介绍“JavaScript实现拖动模态框的代码怎么写”,在日常操作中,相信很多人在JavaScript实现拖动模态框的代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript实
2023-07-02

JavaScript、Python、Java实现选择排序的代码怎么写

本篇内容主要讲解“JavaScript、Python、Java实现选择排序的代码怎么写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript、Python、Java实现选择排序的代码
2023-06-27

VB.NET下载程序实现代码怎么编写

今天就跟大家聊聊有关VB.NET下载程序实现代码怎么编写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。对于VB.NET语言的应用来说,其中有很多小技巧值得我们去掌握,来充实我们的开发
2023-06-17

Python实现网页爬虫基本实现代码怎么编写

Python实现网页爬虫基本实现代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python是一款功能强大的计算机程序语言,同时也可以被看做是一款面向
2023-06-17

vue+antv实现雷达图的示例代码怎么编写

这篇文章给大家介绍vue+antv实现雷达图的示例代码怎么编写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、下载依赖npm install @antv/data-setnpm install @antv/g2二、代
2023-06-21

QT编写地图实现设备点位的示例代码怎么写

本篇文章为大家展示了QT编写地图实现设备点位的示例代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、前言在学习JS语法的时候发现其实程序都大同小异,正所谓一通百通,熟悉各大概的语法以后基本
2023-06-26

Java实现猜数字小游戏代码怎么编写

Java实现猜数字小游戏代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。▲游戏规则:系统随机生成一个范围0——100的数,用户
2023-06-26

C++链栈的实现代码怎么写

这篇文章主要讲解了“C++链栈的实现代码怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++链栈的实现代码怎么写”吧!链栈简述链栈从概念上看是链表和栈的结合,含有栈先进后出的特性,也具
2023-07-02

listbox实现多选的代码怎么写

在多数编程语言中,ListBox控件都支持多选功能。以下是一些常见编程语言的示例代码:1. C# (Windows Forms):```csharp// 定义一个ListBox控件ListBox listBox = new ListBox(
2023-08-18

Sharding-JDBC自动实现MySQL读写分离的示例代码怎么编写

Sharding-JDBC自动实现MySQL读写分离的示例代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、ShardingSphere和Shard
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录