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

当你想要在网站中展示一些跑马灯式的公告时,上下滚动效果是一种常见的解决方案。使用 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日

相关文章

  • Vue nextTick延迟回调获取更新后DOM机制详解

    当 Vue.js 更新数据时,除了更新数据对象本身,Vue.js 还需要通过 Virtual DOM 进行一系列操作,最终更新真实的 DOM 构造,以反映数据的变化。这个过程需要一定的时间,而且这个过程还不保证在同步代码中立即执行完成。因此,我们可能会在同步代码中尝试获取更新后的 DOM,但却发现 DOM 还没有更新。 在这种情况下,我们可以使用 Vue.n…

    JavaScript 2023年6月11日
    00
  • javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历

    一、javascript浏览器判断 要在javascript中进行浏览器判断,可以通过navigator对象获取浏览器的信息。常用的属性包括: navigator.userAgent:获取完整的userAgent字符串; navigator.appName:获取浏览器的名称; navigator.appVersion:获取浏览器的版本号; navigator…

    JavaScript 2023年6月11日
    00
  • 一文详解JavaScript闭包典型应用

    一、JavaScript闭包基础概念 闭包指的是函数内部能够访问其外部作用域的一种机制。简单来说,闭包就是一个函数引用了其包含作用域中的变量(即使在该函数外部调用时也能够访问这些变量)。通常,一个函数执行完毕后,其内部变量将会释放,但如果该函数内部存在闭包,则这些变量仍然会被保存。 二、闭包的经典应用 实现函数记忆 函数记忆是一种用来缓存函数结果的技术。它可…

    JavaScript 2023年6月10日
    00
  • JavaScript Event Loop相关原理解析

    JavaScript Event Loop相关原理解析 什么是Event Loop Event Loop是JavaScript的一种异步编程模型,用于处理进程中的各种事件。 JavaScript在单线程执行的情况下,对于涉及到阻塞I/O,耗时计算等操作时,若采取同步的方式处理,会导致线程的阻塞并降低程序的响应时间和执行效率,因此JavaScript采用异步的…

    JavaScript 2023年5月28日
    00
  • JS获取当前网址、主机地址项目根路径

    获取当前网址、主机地址、项目根路径这些信息,常用于前端框架的开发中,例如:设置cookie、动态加载CSS、JS等资源、Ajax请求API等。 获取当前网址 我们可以使用 window.location 对象来获取当前网址,window.location.href 属性可返回当前页面的完整URL,包括协议、主机名、路径和查询部分。 const current…

    JavaScript 2023年6月11日
    00
  • JavaScript使用FileSystemObject对象写入文本文件内容的方法

    JavaScript的在浏览器端不能直接访问本地文件系统,但是可以通过ActiveXObject对象创建FileSystemObject对象来访问文件系统,可以使用FileSystemObject对象提供的方法进行文件读写操作。本文将详细讲解如何使用FileSystemObject对象写入文本文件内容的方法。 准备工作 在使用FileSystemObject…

    JavaScript 2023年5月27日
    00
  • angularjs定时任务的设置与清除示例

    AngularJS提供了$interval和$timeout两种方式来实现定时任务的设置和清除。 $interval用法示例如下: angular.module(‘myApp’, []) .controller(‘myController’, [‘$interval’, function($interval){ var vm = this; vm.count…

    JavaScript 2023年6月11日
    00
  • python算的上脚本语言吗

    Python通常被归类为一种脚本语言,因为它通常用于编写简单的脚本来完成较小的任务,如自动化一些常见的操作。下面是详细的讲解和两个示例说明: Python是脚本语言吗 Python被称为一种脚本语言,因为它通常被用于编写脚本,这些脚本可以快速完成一些任务,如系统管理、文件处理、数据分析、Web开发和自动化测试等。 此外,Python的语法简单,并且使用方便,…

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