JavaScript实现广告弹窗效果

JavaScript实现广告弹窗效果的攻略包含以下几个步骤:

1. 创建HTML结构

我们需要为广告弹窗准备一个HTML结构,可以在页面中创建一个div元素,然后在其中嵌套一个img标签和一个关闭按钮元素。其中,img标签的src属性设置为我们需要展示的广告图片地址。例如:

<div id="ad">
  <img src="https://example.com/ad.jpg" alt="广告图片">
  <button id="close-btn">关闭</button>
</div>

2. 样式定义

接下来,我们需要为广告弹窗定义样式。对于广告容器,我们需要设置其宽高、背景颜色、边框样式等样式;对于广告图片和关闭按钮,我们需要设置其位置、大小、对齐等样式。例如:

#ad {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -150px;
  margin-left: -250px;
  width: 500px;
  height: 300px;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

#ad img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  max-height: 100%;
}

#ad #close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: transparent;
  border: none;
  font-size: 16px;
  cursor: pointer;
}

3. JS代码实现

接下来,我们需要编写JavaScript代码实现广告弹窗的弹出和关闭功能。当页面加载完成后,我们需要为关闭按钮添加点击事件,点击时隐藏广告弹窗;同时,我们可以设置一个计数器,在页面加载完成后一定时间后弹出广告弹窗。例如:

window.addEventListener('load', function() {
  var ad = document.getElementById('ad');
  var closeBtn = document.getElementById('close-btn');

  // 添加关闭按钮点击事件
  closeBtn.addEventListener('click', function() {
    ad.style.display = 'none';
  });

  // 定时弹出广告窗口
  setTimeout(function() {
    ad.style.display = 'block';
  }, 5000); // 5秒后弹出
});

示例说明

示例1:定时弹窗

参考以上步骤,我们可以实现一个定时弹出广告窗口的效果。当页面加载完成后,5秒钟后弹出广告窗口。实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>广告弹窗示例1</title>
  <style>
    #ad {
      position: fixed;
      top: 50%;
      left: 50%;
      margin-top: -150px;
      margin-left: -250px;
      width: 500px;
      height: 300px;
      background-color: #fff;
      border: 1px solid #ccc;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
      z-index: 9999;
    }

    #ad img {
      display: block;
      margin: 0 auto;
      max-width: 100%;
      max-height: 100%;
    }

    #ad #close-btn {
      position: absolute;
      top: 10px;
      right: 10px;
      background-color: transparent;
      border: none;
      font-size: 16px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <div id="ad">
    <img src="https://picsum.photos/id/1020/500/300" alt="广告图片">
    <button id="close-btn">关闭</button>
  </div>
  <script>
    window.addEventListener('load', function() {
      var ad = document.getElementById('ad');
      var closeBtn = document.getElementById('close-btn');

      // 添加关闭按钮点击事件
      closeBtn.addEventListener('click', function() {
        ad.style.display = 'none';
      });

      // 定时弹出广告窗口
      setTimeout(function() {
        ad.style.display = 'block';
      }, 5000); // 5秒后弹出
    });
  </script>
</body>
</html>

示例2:滑动弹窗

除了定时弹窗之外,我们还可以实现滑动弹窗的效果。具体实现方式是:当用户浏览页面超过一定高度后,弹出广告窗口,并从屏幕顶部滑动进入,同时添加动画效果。实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>广告弹窗示例2</title>
  <style>
    #ad {
      position: fixed;
      top: -400px; /* 将广告区域的top设置为负值,使其在屏幕外 */
      left: 50%;
      margin-left: -250px;
      width: 500px;
      height: 300px;
      background-color: #fff;
      border: 1px solid #ccc;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
      z-index: 9999;
      overflow: hidden; /* 隐藏广告内容 */
    }

    #ad img {
      display: block;
      margin: 0 auto;
      max-width: 100%;
      max-height: 100%;
    }

    #ad #close-btn {
      position: absolute;
      top: 10px;
      right: 10px;
      background-color: transparent;
      border: none;
      font-size: 16px;
      cursor: pointer;
    }

    /* 添加动画效果 */
    @keyframes ad-slide-in {
      0% { transform: translateY(-400px); }
      100% { transform: translateY(0); }
    }
  </style>
</head>
<body>
  <!-- 页面内容 -->
  <div style="height: 2000px;"></div>

  <!-- 广告弹窗 -->
  <div id="ad">
    <img src="https://picsum.photos/id/1020/500/300" alt="广告图片">
    <button id="close-btn">关闭</button>
  </div>

  <script>
    window.addEventListener('scroll', function() {
      var ad = document.getElementById('ad');
      var closeBtn = document.getElementById('close-btn');

      // 当滑动高度超过一定值后,弹出广告窗口
      if (window.pageYOffset > 500) {
        ad.style.display = 'block';
        setTimeout(function() {
          ad.style.overflow = 'auto'; // 显示广告内容
          ad.style.animation = 'ad-slide-in 1s forwards'; // 添加动画效果
        }, 100);
      }

      // 添加关闭按钮点击事件
      closeBtn.addEventListener('click', function() {
        ad.style.display = 'none';
      });
    });
  </script>
</body>
</html>

在这个示例中,我们通过监听页面滚动事件,当页面滚动到一定高度时弹出广告窗口,并通过CSS3动画实现了广告的滑动效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript实现广告弹窗效果 - Python技术站

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

相关文章

  • FF IE浏览器修改标签透明度的方法

    下面是“FF IE浏览器修改标签透明度的方法”的详细讲解: 1.使用CSS属性opacity 可以使用CSS属性opacity来修改标签透明度,在FF和IE浏览器上都适用。opacity属性的值为0到1之间的浮点数。其中,0表示完全透明,1表示完全不透明。 示例1:将ID为myDiv的div标签设置为50%透明 #myDiv { opacity: 0.5; …

    JavaScript 2023年6月11日
    00
  • AngularJS的ng-click传参的方法

    当我们需要在HTML中绑定点击事件并传递参数时,可以使用AngularJS的ng-click指令。以下是AngularJS的ng-click传参的方法: 方法一:使用$event对象 当我们需要传递一个事件对象时,可以使用$event对象。代码如下: <button ng-click="myFunction($event)">…

    JavaScript 2023年6月11日
    00
  • Canvas drawImage方法实现图片压缩详解

    Canvas的drawImage方法可以用来实现图片的压缩,下面将详细讲解该方法的使用过程。 drawImage方法简介 Canvas的drawImage方法可以将一个已有的图像绘制到Canvas上。该方法有3种用法: drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) dra…

    JavaScript 2023年6月10日
    00
  • escape编码与unescape解码汉字出现乱码的解决方法

    Escape编码与Unescape解码汉字出现乱码的解决方法 什么是Escape编码和Unescape解码 Escape编码和Unescape解码都是用于处理URL中的特殊字符的方法。在URL中,某些字符具有特殊含义,例如“/”、“?”、“#”等,因此如果要将它们作为普通字符串使用,需要进行特殊处理。Escape编码就是把这些特殊字符替换成一个以%开头的十六…

    JavaScript 2023年5月20日
    00
  • JavaScript中let避免闭包造成问题

    JavaScript 中,闭包是一个常见的概念,指的是函数可以访问它词法作用域范围外的变量。当我们使用闭包时,由于 JavaScript 中的变量作用域只有函数级别,所以闭包内的函数可以使用在外部定义的变量。然而,这也可能导致未预期的问题,尤其是在变量作用域范围不明确的情况下。让我们来看看如何使用 let 关键字来避免闭包造成的问题。 什么是闭包? 在 Ja…

    JavaScript 2023年6月10日
    00
  • js类后台管理菜单类-MenuSwitch

    下面是关于”js类后台管理菜单类-MenuSwitch”的详细讲解: 1. 菜单类概述 MenuSwitch 是一个专门为后台管理系统设计的 JavaScript 类库,它可以帮助我们快速构建带有菜单切换功能的后台管理界面。该类库通过控制菜单的状态,实现左侧菜单与右侧内容的联动,提高用户操作效率。 2. 使用方法 MenuSwitch 类库提供了以下两个方法…

    JavaScript 2023年6月10日
    00
  • javascript针对DOM的应用分析(二)

    JavaScript针对DOM的应用分析 在使用JavaScript时,操作DOM是很重要的一部分。在本攻略中,我们将详细讨论JavaScript如何应用于DOM。 DOM基础知识 DOM(Document Object Model,文档对象模型)是指用于 HTML 和 XML 文档的编程接口。DOM 将整个页面抽象为一个树形结构,页面中的每个组成部分都是树…

    JavaScript 2023年6月10日
    00
  • 基于JavaScript实现淘宝商品广告效果

    让我来详细讲解一下”基于JavaScript实现淘宝商品广告效果”的完整攻略。 1. 简介 该攻略介绍了如何使用JavaScript实现淘宝商品广告效果,这种效果通常使用在商品推广页和商城首页等页面进行商品推广。在本攻略中,我们将使用一些JavaScript技术,例如jQuery库和CSS3动画技术,来实现淘宝商品广告效果。 2. 步骤 以下是实现淘宝商品广…

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