js实现左右两侧浮动广告

下面是关于“js实现左右两侧浮动广告”的完整攻略。

实现思路

我们首先需要确定广告层的定位方式,一般采用 position: fixed 来实现固定的效果。然后利用 JS 计算浏览器窗口的宽度,以及广告层的宽度,计算出广告层到浏览器窗口两侧的距离,以此确定广告层的位置。接着,我们需要监听浏览器窗口的 scrollresize 事件,根据滚动的位置和窗口的大小来更新广告层的位置。

示例代码

示例一

下面的代码演示了如何实现一个左侧浮动广告。假设广告的宽度为 200px,这里我们要设置其距离页面左侧为 20px。当用户向下滚动页面时,广告会实时固定在左侧并跟随用户的滚动,当广告超过顶部导航栏时,其距离顶部为 100px。你可以将代码复制到你的 HTML 文件中,运行起来查看效果。

<!DOCTYPE html>
<html>
  <head>
    <title>左侧浮动广告</title>
    <style>
      #left-ad {
        position: fixed;
        left: 20px;
        top: 100px;
        width: 200px;
        background-color: yellow;
        padding: 10px;
      }
      .main-content {
        margin-left: 240px;
        padding: 20px;
      }
    </style>
  </head>
  <body>
    <div id="left-ad">这是一个左侧浮动广告</div>
    <div class="main-content">
      <h1>网站主体内容</h1>
      <p>这里是主体内容的介绍。</p>
      <!-- 更多主体内容 -->
    </div>
    <script>
      // 计算广告距离浏览器左侧的距离
      var ad = document.getElementById('left-ad');
      var adWidth = ad.offsetWidth; // 广告层的宽度
      var leftDistance = 20; // 广告离浏览器左侧的距离
      var leftPosition = leftDistance - adWidth; // 实际距离浏览器左侧的距离

      // 更新广告层的位置
      function updateAdPosition() {
        var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
        var topDistance = 100; // 广告层距离顶部的距离

        // 计算实际距离浏览器两侧的距离
        var left = (window.innerWidth / 2) - (adWidth / 2) + leftPosition;
        var top = scrollTop + topDistance;

        // 更新广告层的位置
        ad.style.left = left + 'px';
        ad.style.top = top + 'px';
      }

      // 监听浏览器滚动和窗口大小改变事件
      window.addEventListener('scroll', updateAdPosition);
      window.addEventListener('resize', updateAdPosition);

      // 初始化广告层位置
      updateAdPosition();
    </script>
  </body>
</html>

示例二

下面的代码演示了如何实现一个右侧浮动广告。假设广告的宽度也为 200px,这里我们要设置其距离页面右侧为 20px。当用户向下滚动页面时,广告会实时固定在右侧并跟随用户的滚动,当广告超过底部导航栏时,其距离底部为 100px。

<!DOCTYPE html>
<html>
  <head>
    <title>右侧浮动广告</title>
    <style>
      #right-ad {
        position: fixed;
        right: 20px;
        bottom: 100px;
        width: 200px;
        background-color: yellow;
        padding: 10px;
      }
      .main-content {
        margin-right: 240px;
        padding: 20px;
      }
    </style>
  </head>
  <body>
    <div id="right-ad">这是一个右侧浮动广告</div>
    <div class="main-content">
      <h1>网站主体内容</h1>
      <p>这里是主体内容的介绍。</p>
      <!-- 更多主体内容 -->
    </div>
    <script>
      // 计算广告距离浏览器右侧的距离
      var ad = document.getElementById('right-ad');
      var adWidth = ad.offsetWidth; // 广告层的宽度
      var rightDistance = 20; // 广告离浏览器右侧的距离
      var rightPosition = rightDistance - adWidth; // 实际距离浏览器右侧的距离

      // 更新广告层的位置
      function updateAdPosition() {
        var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
        var topDistance = 100; // 广告层距离底部的距离

        // 计算实际距离浏览器两侧的距离
        var right = (window.innerWidth / 2) - (adWidth / 2) + rightPosition;
        var bottom = scrollTop + window.innerHeight - topDistance - ad.offsetHeight;

        // 更新广告层的位置
        ad.style.right = right + 'px';
        ad.style.bottom = bottom + 'px';
      }

      // 监听浏览器滚动和窗口大小改变事件
      window.addEventListener('scroll', updateAdPosition);
      window.addEventListener('resize', updateAdPosition);

      // 初始化广告层位置
      updateAdPosition();
    </script>
  </body>
</html>

以上就是实现左右两侧浮动广告的完整攻略,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现左右两侧浮动广告 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • JavaScript数组 几个常用方法总结

    JavaScript 数组是一种用于存储多个值的数据结构,它提供了各种各样的方法来方便我们对它进行操作。在本篇攻略中,我们将重点总结几个常用的 JavaScript 数组方法,并提供具体示例说明它们的使用方法。 数组方法列表 以下是我们要介绍的 JavaScript 数组方法: push():在数组的末尾添加一个元素,并返回数组的新长度。 pop():移除并…

    JavaScript 2023年5月18日
    00
  • 详解ionic本地相册、拍照、裁剪、上传(单图完全版)

    详解Ionic本地相册、拍照、裁剪、上传(单图完全版) 本文将详细介绍如何在Ionic项目中实现本地相册、拍照、裁剪、上传的功能,主要介绍以下步骤: 安装插件 导入插件 修改config.xml文件 实现功能的代码 编译打包 安装插件 我们需要安装以下插件: cordova plugin add cordova-plugin-camera cordova p…

    JavaScript 2023年6月11日
    00
  • JS实现加载和读取XML文件的方法详解

    JS实现加载和读取XML文件的方法详解 在Web开发中,我们有时会需要从服务器端获取XML文件,然后在前端进行解析和操作。本文将详细讲解JS实现加载和读取XML文件的方法,以及对XML文件进行解析和操作的技巧。 加载XML文件 加载XML文件主要有两种方式,一种是使用AJAX技术,另一种是使用XMLHttpRequest对象。下面分别进行讲解。 AJAX方式…

    JavaScript 2023年5月27日
    00
  • html中使用javascript调用本地程序(exe、doc等)实现代码

    要实现在HTML页面中使用JavaScript调用本地程序(如.exe、.doc等)需要使用浏览器提供的“ActiveXObject”对象,这个对象可以在IE浏览器中使用,其它浏览器则需要使用不同的方式实现。下面我们就来详细讲解如何在HTML中使用JavaScript调用本地程序的完整攻略。 步骤1:创建一个ActiveXObject 在JavaScript…

    JavaScript 2023年5月27日
    00
  • javascript实现将文件保存到本地方法汇总

    当用户需要在浏览器中将文件保存到本地时,可以使用JavaScript实现该功能,以下是实现该功能的一些方法。 方法一:使用HTML5的download属性 可以使用HTML5的下载属性(download attribute)来实现将文件保存到本地。将download属性添加到<a>标签或<button>标签中,并将href属性设置为文…

    JavaScript 2023年5月27日
    00
  • 细说JS数组遍历的一些细节及实现

    细说JS数组遍历的一些细节及实现 简介 JavaScript中的数组是一种数据结构,用于存储一组元素。数组常常使用循环来遍历其中的元素,这篇文章将详细讲解JS数组的遍历,以及在遍历过程中需要注意的一些细节。 遍历数组的方法 for循环 for循环是遍历数组最基础、最常用的方法。for循环遍历数组时,可以使用数组的length属性获取数组的长度,通过遍历其下标…

    JavaScript 2023年5月27日
    00
  • 一文掌握new Date() 方法

    下面我为您详细讲解如何使用 new Date() 方法。 1. new Date() 方法简介 new Date() 方法用于创建一个表示当前日期和时间的 Date 对象。该方法创建的对象包含当前日期和时间的值。您可以使用它来获取当前时间、计算时间间隔等操作。 2. new Date() 方法使用 new Date() 方法没有参数时会创建一个代表当前时间的…

    JavaScript 2023年6月10日
    00
  • 深入分析Javascript跨域问题

    深入分析Javascript跨域问题 在Web开发中,跨域请求通常是一个必须要解决的问题。在本文中,我们将从什么是跨域、跨域的原因、常见的跨域实现以及如何解决跨域问题等方面进行深入分析。 什么是跨域? 在 Web 开发中,跨域是指从一个源(协议 + 域名 + 端口)访问另一个源下的资源。例如,从 http://example.com 页面发起的请求访问 ht…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部