JS实现div内部的文字或图片自动循环滚动代码

实现div内部的文字或图片自动循环滚动,可以使用JavaScript来实现。下面是实现的完整攻略:

1. 准备工作

首先需要一个包含滚动内容的div容器,例如:

<div id="scroll-container">
  <ul>
    <li><img src="img1.jpg" alt="图片1"></li>
    <li><img src="img2.jpg" alt="图片2"></li>
    <li><img src="img3.jpg" alt="图片3"></li>
  </ul>
</div>

2. 实现滚动效果

使用JavaScript实现滚动效果,可以通过动态改变容器的scrollTop属性来实现。例如:

// 获取滚动容器和需要滚动的元素
let container = document.getElementById('scroll-container');
let items = container.getElementsByTagName('li');
let currentItemIndex = 0;

// 定时器函数,每隔一定时间就执行一次滚动
function scroll() {
  // 计算下一个需要滚动的元素的位置
  let nextItemIndex = currentItemIndex + 1;
  if (nextItemIndex >= items.length) {
    nextItemIndex = 0;
  }

  // 计算下一个需要滚动的元素距离容器顶部的距离
  let nextItemTop = items[nextItemIndex].offsetTop;

  // 动态改变容器的scrollTop属性,实现滚动效果
  container.scrollTop = nextItemTop;

  // 更新当前滚动元素的索引
  currentItemIndex = nextItemIndex;
}

// 设置定时器,每隔一定时间执行一次scroll函数
setInterval(scroll, 2000);

3. 示例说明

示例1:文字滚动效果

<div id="scroll-container">
  <ul>
    <li>第一条滚动文字</li>
    <li>第二条滚动文字</li>
    <li>第三条滚动文字</li>
  </ul>
</div>

<script>
let container = document.getElementById('scroll-container');
let items = container.getElementsByTagName('li');
let currentItemIndex = 0;

function scroll() {
  let nextItemIndex = currentItemIndex + 1;
  if (nextItemIndex >= items.length) {
    nextItemIndex = 0;
  }

  let nextItemTop = items[nextItemIndex].offsetTop;

  container.scrollTop = nextItemTop;

  currentItemIndex = nextItemIndex;
}

setInterval(scroll, 2000);
</script>

示例2:图片滚动效果

<div id="scroll-container">
  <ul>
    <li><img src="img1.jpg" alt="图片1"></li>
    <li><img src="img2.jpg" alt="图片2"></li>
    <li><img src="img3.jpg" alt="图片3"></li>
  </ul>
</div>

<script>
let container = document.getElementById('scroll-container');
let items = container.getElementsByTagName('li');
let currentItemIndex = 0;

function scroll() {
  let nextItemIndex = currentItemIndex + 1;
  if (nextItemIndex >= items.length) {
    nextItemIndex = 0;
  }

  let nextItemTop = items[nextItemIndex].offsetTop;

  container.scrollTop = nextItemTop;

  currentItemIndex = nextItemIndex;
}

setInterval(scroll, 2000);
</script>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现div内部的文字或图片自动循环滚动代码 - Python技术站

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

相关文章

  • 实现点击按钮后CSS加载效果的实现

    为了实现点击按钮后CSS加载效果的实现,可以使用以下步骤: 定义需要加载的CSS样式:创建一个CSS文件,添加需要加载的CSS样式,并保存至项目文件夹中。在此示例中,我们将采用一个简单的例子,定义一个类 active,并将其的 background-color 属性改为红色。 .active { background-color: red; } 创建HTML…

    css 2023年6月10日
    00
  • css FF与IE兼容性总结

    在前端开发中,CSS 的兼容性问题是一个常见的挑战。特别是在 Firefox 和 Internet Explorer(IE)浏览器中,由于它们的渲染引擎不同,可能会导致 CSS 样式在不同浏览器中的显示效果不同。本文将提供一些关于如何解决 CSS 在 Firefox 和 IE 中的兼容性问题的方法,包括一些常见的 CSS 属性和示例说明。 CSS 属性兼容性…

    css 2023年5月18日
    00
  • CSS伪类:before在元素之前 :after 在元素之后实例讲解

    下面是对CSS伪类:before和:after的详细讲解。 什么是CSS伪类 :before 和 :after? CSS伪类:before和:after是CSS的两种虚拟元素,它们不是HTML文档中的元素,而是在被选中元素内容前或内容后生成的(即在元素内部的前面或后面生成一个虚拟的子元素)。在HTML文档中不会出现:before和:after伪类的标记,它们…

    css 2023年6月10日
    00
  • css页面变灰度兼容ie、firefox、chrome、opera、safari实现样式

    实现页面变灰是一种常见的设计效果,下面是实现该效果的方法: 方法一:使用CSS Filter属性 使用CSS Filter属性可以将页面变灰,同时兼容IE、Firefox、Chrome、Opera和Safari。 /*将页面变成灰色*/ .grayscale { filter: grayscale(100%); -webkit-filter: graysca…

    css 2023年6月9日
    00
  • 原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】

    标题:原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】攻略 1. 确定页面结构 在实现轮播图之前,首先要确定页面结构。可以考虑使用如下结构: <div class="carousel"> <ul class="carousel-list"> <li class=&…

    css 2023年6月10日
    00
  • js实现简单div拖拽功能实例

    下面是关于如何用 JavaScript 实现简单的 div 拖拽功能的攻略。 1. HTML 结构 首先,在 HTML 中需要先定义要拖拽的 div 元素,代码如下: <div id="draggable"> <!– 这里可以放置需要拖拽的内容 –> </div> 2. CSS 样式 接着,为这个 …

    css 2023年6月10日
    00
  • 纯 CSS 实现多行文字截断功能

    下面是关于“纯 CSS 实现多行文字截断功能”的完整攻略。 标题 在CSS中进行的多行文字截断通常使用text-overflow属性来截取多出的文字,并使用ellipsis来表示截断。但是,这只能在一行文字上使用,无法在多行文字上使用。 所以,我们可以采用display: -webkit-box和-webkit-line-clamp实现多行文字截断的效果。 …

    css 2023年6月10日
    00
  • css3一款3D字体带阴影效果的实现步骤

    下面是详细讲解“CSS3一款3D字体带阴影效果的实现步骤”的完整攻略。 1. 编写HTML代码 首先,我们需要在HTML页面中添加要展示的文本。以实现一个带有3D字体和阴影效果的标题文本为例,可以在HTML代码中添加以下内容: <h1 class="font-effect-3d">3D TITLE</h1> 这里我…

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