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

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

相关文章

  • js 字符串转化成数字的代码

    当我们需要将一个JS字符串转化成数字时,我们可以使用Javascript内置的parseInt() 函数或parseFloat() 函数。 parseInt()函数 parseInt() 函数可解析一个字符串,并返回一个整数。它的语法格式如下: parseInt(string, radix) 其中,string是需要被转换的字符串,radix是进制数,表示被…

    JavaScript 2023年5月28日
    00
  • JS产生随机数的几个用法详解

    JS 产生随机数的几个用法详解 在前端开发中,生成随机数是常见的需求。在 JavaScript 中,我们有很多不同的方式来生成随机数,接下来将详细介绍常见的几种方式。 1. Math.random()方法 Math.random() 方法是 JavaScript 中生成伪随机数的默认方法。可以使用以下代码来生成 0 至 1 之间的随机小数。 const ra…

    JavaScript 2023年5月28日
    00
  • PHP rawurlencode与urlencode函数的深入分析

    PHP rawurlencode与urlencode函数的深入分析 概述 在网络传输过程中,由于URL不能包含特殊字符,因此需要将URL中的特殊字符进行编码转义。PHP提供了两个函数用于URL编码转义:urlencode()和rawurlencode()。本文将深入分析这两个函数的运行机制及不同之处,以及在什么情况下使用它们。 urlencode() url…

    JavaScript 2023年5月19日
    00
  • 简单谈谈JS数组中的indexOf方法

    关于“简单谈谈JS数组中的indexOf方法”的攻略,我会详细讲解如下。 什么是 indexOf 方法 在 JavaScript 中,数组是一种常用的数据结构,它提供了许多方法来操作数组。其中一个非常有用的方法是 indexOf。这个方法可以用来查找数组中某个元素的位置。 如何使用 indexOf 方法 语法 arr.indexOf(searchElemen…

    JavaScript 2023年5月27日
    00
  • 使用JavaScript库还是自己写代码?

    使用JavaScript库还是自己写代码是一个经久不衰的话题。在制作网页时,我们经常要考虑是否使用现有的库或自己编写特定的代码。下面是一些指导思想,以帮助您做出明智的决定。 1. 考虑复杂性 当您需要实现的功能变得越来越复杂时,许多开发人员通常会使用现有的 JavaScript 库来解决问题。例如,为了让一个简单的动画运行,不需要将动画的起始位置和结束位置与…

    JavaScript 2023年6月11日
    00
  • javascript中Number对象的toString()方法分析

    我们先来了解一下Number对象。 Number对象 在JavaScript中,Number对象是一个基本的数据类型,用于表示数字。它包含以下常用的属性和方法: 常用属性: Number.MAX_VALUE: 最大值(1.7976931348623157e+308) Number.MIN_VALUE: 最小值(5e-324) Number.NaN: 表示非数…

    JavaScript 2023年6月10日
    00
  • js实现文件上传表单域美化特效

    下面是“js实现文件上传表单域美化特效”的完整攻略: 1. 简介 在网页中,文件上传表单域通常都比较难看,这时候我们可以用JS来美化一下。通过JS操作DOM元素,使文件上传表单域看起来更加美观。在本篇攻略中,我们将使用两个示例来说明如何用JS实现文件上传表单域美化特效。 2. 示例1 2.1 HTML结构 <div class="file-u…

    JavaScript 2023年5月27日
    00
  • JS函数进阶之prototy用法实例分析

    下面我详细讲解一下 “JS函数进阶之prototype用法实例分析” 的完整攻略。 1. 什么是JS中的prototype 在JavaScript中,每个函数都有一个prototype属性,它是函数构造器的原型对象,也是通过构造器创建的对象的原型。这个原型对象是一个普通对象,其中包含一些方法和属性,它们可以被构造器所创建的所有实例对象所共享。 2. prot…

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