原生js实现中奖信息无间隙滚动效果

yizhihongxing

中奖信息无间隙滚动效果通常是在网页中的信息滚动区域,而且信息要连贯无缝滚动,没有间隙。实现这个效果的方法有很多,下面我来介绍一种基于原生JS实现的方法。

实现原理

在这个效果中,需要用到三个信息块,从上往下分别为当前显示块、上一个块、下一个块。通过修改它们的CSS属性,可以实现连续无缝滚动的效果。

  1. 首先在HTML中创建滚动区域并添加三个信息块:
<div class="scroll-container"> 
   <p class="current">滚动信息</p> 
   <p class="next">滚动信息</p> 
   <p class="next">滚动信息</p> 
</div>
  1. 在CSS中设置滚动区域的样式:
.scroll-container {
   height: 20px;
   overflow: hidden; 
}
  1. 通过JS来实现滚动的效果。具体实现过程如下:

  2. 获取上一个块、当前块和下一个块:

var currentEl = document.querySelector('.current');
var prevEl = document.querySelector('.prev');
var nextEl = document.querySelector('.next');
  • 设置定时器,使滚动块向上移动:
function slide() {
    prevEl.innerHTML = currentEl.innerHTML;
    currentEl.innerHTML = nextEl.innerHTML;
    nextEl.innerHTML = prizeList[i];

    ++i;
    if (i >= prizeList.length) {
        i = 0;
    }

    setTimeout(slide, 1000);
}

  • 启动滚动:
slide();

示例一

```html

一等奖:100元红包

二等奖:50元红包

三等奖:20元红包

```

示例二

 var prizeList = [
     '一等奖:100元红包', 
     '二等奖:50元红包',
     '三等奖:20元红包',
     '参与奖:谢谢参与'
 ];

 var currentEl = document.querySelector('.current');
 var prevEl = document.querySelector('.prev');
 var nextEl = document.querySelector('.next');
 var i = 0;

 function slide() {
     prevEl.innerHTML = currentEl.innerHTML;
     currentEl.innerHTML = nextEl.innerHTML;
     nextEl.innerHTML = prizeList[i];

     ++i;
     if (i >= prizeList.length) {
         i = 0;
     }

     setTimeout(slide, 1000);
 }

 slide();

通过上述代码的综合运用,就能够实现中奖信息无间隙滚动效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生js实现中奖信息无间隙滚动效果 - Python技术站

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

相关文章

  • Python、Javascript中的闭包比较

    下面我将详细讲解Python和JavaScript中的闭包比较。 什么是闭包? 在JavaScript和Python中,闭包是指可以访问外部函数作用域的函数。简单地说,内部函数可以访问外部函数中的变量。这意味着,即使外部函数已经返回,内部函数也可以访问并操作它们。 Python中的闭包 下面我们来看一个Python中的闭包示例: def outer_func…

    JavaScript 2023年6月10日
    00
  • canvas压缩图片转换成base64格式输出文件流

    下面是使用canvas压缩图片并转换为base64格式输出文件流的完整攻略: 步骤一:html文件部分 首先,我们需要在html文件中添加一个input元素,用于选择要上传的图片。代码如下: <label for="image_upload">选择图片:</label> <input type="f…

    JavaScript 2023年5月19日
    00
  • JavaScript删除字符串中指定字符的4种方法汇总

    JavaScript删除字符串中指定字符的4种方法汇总 在 JavaScript 中,我们可以通过不同的方法实现删除字符串中指定字符的操作。本文将为你介绍四种常见的方法,分别是: 使用 replace() 方法 使用 split() 和 join() 方法 使用正则表达式 使用字符串切片 接下来我们会一一介绍这些方法,并给出具体的实现示例。 方法一:使用 r…

    JavaScript 2023年5月28日
    00
  • javaScript(JS)替换节点实现思路介绍

    JavaScript(JS)替换节点实现思路介绍 在网页开发过程中,替换节点是常见的操作之一。JavaScript提供了一种简单而有效的替换节点的方式。本文将介绍如何使用JS替换节点,包括如何获取节点,创建新节点,替换原有节点以及如何进行实际操作。 获取节点 在JS中,可以使用document.getElementById()来获取指定id的节点。例如: c…

    JavaScript 2023年6月10日
    00
  • JavaScript replace new RegExp使用介绍

    JavaScript replace new RegExp使用介绍 在JavaScript编程中,我们常常需要使用字符串替换功能。字符串替换的一种实现方式就是使用替换函数 replace()。replace() 函数的第一个参数一般是一个模式匹配正则表达式,用来匹配所有需要替换的字符串,第二个参数是一个替换值,用于将找到的匹配替换成新的字符串。在一些情况下,…

    JavaScript 2023年6月10日
    00
  • 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)

    将编码从GB2312转成UTF-8需要从前台、程序和数据库三个方面入手进行相应的转换。 从前台转换 修改HTML文件的编码格式 在HTML文件的head中的meta标签中设置charset为UTF-8,例如: <head> <meta http-equiv="Content-Type" content="tex…

    JavaScript 2023年6月11日
    00
  • asp.net下模态对话框关闭之后继续执行服务器端代码的问题

    ASP.NET下模态对话框关闭之后继续执行服务器端代码的问题,可以通过以下方式实现: 1. 使用JavaScript和AJAX 在模态对话框中的“确认”或“取消”按钮中添加JavaScript代码,利用 AJAX 技术向服务器发送请求,通知服务器对话框已经被关闭,同时执行需要执行的服务器端代码。以下是示例代码: function CloseModal() {…

    JavaScript 2023年6月11日
    00
  • js每隔5分钟执行一次ajax请求的实现方法

    要实现JS每隔5分钟执行一次ajax请求,可以借助JavaScript的定时器(Timer)机制,可以使用setInterval方法来周期性的调用Ajax请求的方法。下面是具体的实现步骤: 在HTML页面上引入jQuery库(或其它ajax库) <script src="https://code.jquery.com/jquery-3.5.1…

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