利用10行js代码实现上下滚动公告效果

yizhihongxing

当你想要在网站中展示一些跑马灯式的公告时,上下滚动效果是一种常见的解决方案。使用 JavaScript,可以用只有十几行代码的方式实现这种上下滚动效果。

以下是利用 10 行 js 代码实现上下滚动公告效果的完整攻略:

步骤1: 创建 HTML 页面

首先,我们需要在 HTML 页面中添加一个容器来放置滚动公告。我们可以使用 <div> 元素来创建这个容器。代码如下:

<div class="scrolling-container"></div>

此外,为了方便演示,我们也可以在该容器中添加一些测试数据。代码如下:

<div class="scrolling-container">
  <ul>
    <li>公告1</li>
    <li>公告2</li>
    <li>公告3</li>
    <li>公告4</li>
    <li>公告5</li>
    <li>公告6</li>
  </ul>
</div>

步骤2: 编写 JS 代码

我们需要用 JavaScript 来实现上下滚动的公告。代码如下:

function scrollingText() {
  const container = document.querySelector('.scrolling-container');
  const textList = container.querySelectorAll('li');
  let index = 0;

  setInterval(() => {
    textList[index].classList.remove('is-visible');
    index++;

    if (index === textList.length) {
      index = 0;
    }

    textList[index].classList.add('is-visible');
  }, 3000);
}

scrollingText();

以上代码包括 scrollingText() 函数,该函数定义了一个定时器,以每 3 秒的时间间隔滚动公告内容。在函数内,我们可以使用 querySelector()querySelectorAll() 来选择相关元素,并使用 classList 来添加和移除 CSS 类,以便控制滚动公告的效果。

步骤3: 添加样式

最后,我们需要为滚动公告添加一些 CSS 样式,以控制公告的展示效果。代码如下:

.scrolling-container {
  border: 1px solid #ccc;
  height: 50px;
  overflow: hidden;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

li {
  padding: 5px;
  font-size: 16px;
}

.is-visible {
  animation: scroll-text 1s linear forwards;
}

@keyframes scroll-text {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}

我们的 CSS 样式包括:

  • .scrolling-container 的样式定义,用来设置公告容器的高度、边框和滚动属性。
  • ulli 的样式定义,用来设置公告内容的列表样式。
  • .is-visible 的样式定义,用来设置动画效果的触发方式。
  • @keyframes scroll-text 的样式定义,用来设置动画关键帧的样式。

现在,你可以使用以上代码和说明来创建一个简单的滚动公告效果了。

以下是两条示例说明:

示例1:

HTML 代码:

<div class="scrolling-container"></div>

JS 代码:

function scrollingText() {
  const container = document.querySelector('.scrolling-container');
  const textList = ['公告1', '公告2', '公告3', '公告4', '公告5', '公告6'];
  let index = 0;

  setInterval(() => {
    container.textContent = textList[index];
    index++;

    if (index === textList.length) {
      index = 0;
    }
  }, 3000);
}

scrollingText();

CSS 代码:

.scrolling-container {
  border: 1px solid #ccc;
  height: 30px;
  overflow: hidden;
  padding: 5px;
  font-size: 16px;
}

示例2:

HTML 代码:

<div class="scrolling-container">
  <ul>
    <li>公告1</li>
    <li>公告2</li>
    <li>公告3</li>
    <li>公告4</li>
    <li>公告5</li>
    <li>公告6</li>
  </ul>
</div>

JS 代码:

function scrollingText() {
  const container = document.querySelector('.scrolling-container');
  const textList = container.querySelectorAll('li');
  let index = 0;

  setInterval(() => {
    textList[index].classList.remove('is-visible');
    index++;

    if (index === textList.length) {
      index = 0;
    }

    textList[index].classList.add('is-visible');
  }, 3000);
}

scrollingText();

CSS 代码:

.scrolling-container {
  border: 1px solid #ccc;
  height: 50px;
  overflow: hidden;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

li {
  padding: 5px;
  font-size: 16px;
}

.is-visible {
  animation: scroll-text 1s linear forwards;
}

@keyframes scroll-text {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用10行js代码实现上下滚动公告效果 - Python技术站

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

相关文章

  • JS实现网络请求的三种方式梳理

    JS实现网络请求的三种方式梳理 在JavaScript开发中,网络请求是不可或缺的一部分,下面是三种常用的实现网络请求的方式: 1. XMLHttpRequest请求 XMLHttpRequest是一个原生JavaScript对象,它是一个浏览器提供的api,用来在浏览器和服务器之间发送HTTP请求和接收服务器数据。XMLHttpRequest请求的基本流程…

    JavaScript 2023年6月11日
    00
  • 原生javascript单例模式的应用实例分析

    原生JavaScript单例模式是设计模式中比较经典的一种,可以控制某个对象只创建一个实例,适用于需要全局访问某个对象且只需要一个实例的场景。下面就是一个原生JavaScript单例模式的应用实例分析,帮助你更好地理解该设计模式的应用。 什么是原生JavaScript单例模式 原生JavaScript单例模式指在JavaScript中用最简单、最基本的方法创…

    JavaScript 2023年5月28日
    00
  • javascript删除数组元素的七个方法示例

    JavaScript删除数组元素的七个方法示例 在JavaScript中,删除数组元素是经常会遇到的一个问题。本文将详细介绍七种不同的方法来删除JavaScript数组中的元素。 方法一:splice()方法 splice()方法是JavaScript中最通用的删除数组元素的方法。使用此方法可以从数组中删除任意数量的元素,通过指定要删除的元素的索引位置和要删…

    JavaScript 2023年5月27日
    00
  • 微信小程序实现消息框弹出动画

    关于微信小程序实现消息框弹出动画,我可以提供以下攻略: 1. 熟悉小程序动画API和样式属性 在开始实现消息框弹出动画前,我们需要先熟悉小程序提供的动画API和常见样式属性。小程序中的动画API主要包括wx.createAnimation和Animation对象的一些方法,如step、export等。而常见的样式属性包括position、z-index、tr…

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

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

    JavaScript 2023年5月27日
    00
  • 获取IE浏览器Cookie信息的方法

    获取IE浏览器Cookie信息的方法主要需要通过Windows API来实现,具体步骤如下: 获取IE浏览器Cookie信息的方法 1. 通过Windows API获取IE浏览器Cookie信息 使用Windows API可以获取IE浏览器的Cookie信息,具体步骤如下: a. 使用“InternetGetCookieEx”函数获取指定URL地址下的Coo…

    JavaScript 2023年6月11日
    00
  • JS判断数组中是否有重复值得三种实用方法

    下面我详细讲解下“JS判断数组中是否有重复值得三种实用方法”的完整攻略。 方法一:Set对象 利用Set对象可以去除数组中的重复元素,因此,先将原数组利用Set对象去重,然后比较去重后的数组长度和原数组长度即可判断原数组中是否有重复元素。 示例代码如下: let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1]; let setArr…

    JavaScript 2023年5月27日
    00
  • Javascript的setTimeout()使用闭包特性时需要注意的问题

    下面是关于“Javascript的setTimeout()使用闭包特性时需要注意的问题”的详细讲解。 什么是setTimeout() setTimeout() 是 JavaScript 语言自带的一个定时器,通常用于在指定的时间间隔之后执行一段指定的代码。setTimeout() 函数的语法如下: setTimeout(func|code, delay); …

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