原生js实现列表自动滚动循环播放

JS实现自动循环滚动展示 ...语法:...语法:...语法:...语法:语法: 阅读详情
AI摘要

本文介绍了一种使用双UL元素实现的无缝滚动效果,当鼠标移入时暂停滚动,移出时继续。通过设置溢出隐藏及定时器控制,实现了平滑且响应式的滚动体验。

1.实现效果图
  • 鼠标移入,暂停滚动; 鼠标移出,继续滚动;
    在这里插入图片描述
2.原理
  • 要实现无缝衔接,在原有ul后面还要有一个一样内容的ul;

  • 最外层div为可视区域,设overflow:hidden;

  • 2个ul的高度 > 外层可视div高度,才能滚动;

3.实现代码

html:

<!-- vue -->
<div id="review_box" @mouseover="rollStop()" @mouseout="rollStart(60)">
    <ul id="comment1">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
    <ul id="comment2"></ul>
</div>

css:

div {
    height: 100px; /* 必须 */
    overflow: hidden;/* 必须 */
}

js:

//vue data
data (){
    return {
        timer: null,
    }
},
mounted() {
  	this.roll(60);
},
beforeDestroy() {
  	if (this.timer) clearInterval(this.timer);
},
//vue methods
roll(t) {
    var ul1 = document.getElementById("comment1");
    var ul2 = document.getElementById("comment2");
    var ulbox = document.getElementById("review_box");
    ul2.innerHTML = ul1.innerHTML;
    ulbox.scrollTop = 0;
    this.rollStart(t);
},
rollStart(t) {
    var ul1 = document.getElementById("comment1");
    var ul2 = document.getElementById("comment2");
    var ulbox = document.getElementById("review_box");
    this.rollStop();
    this.timer = setInterval(()=>{
        // 当滚动高度大于列表内容高度时恢复为0
        if (ulbox.scrollTop >= ul1.scrollHeight) {
            ulbox.scrollTop = 0;
        } else {
            ulbox.scrollTop++;
        }
    }, t);
},
rollStop(){
    clearInterval(this.timer);
},
原生Js实现自动无缝轮播图 javascript实现自动无缝轮播图 1、实现原理 轮播图实现原理是用一个大盒子组容器,里面包含一个小盒子,小盒子用来移动,小盒子里装着要轮播的图片,图片水平排放,当小盒子移动的时候带动图片一起移动,要想实现无缝轮播,则要在最后放一张与第一张一摸一样的图片,当图片滚动到最后一张时,用户会感觉这是第一张,然后再跳到第一张,这样用户就不会感觉图片是跳过去的,实现无缝轮播 2、实现效果 (图片上传有大小限制,这里就展示一部分。。。) 3、代码展示 3.1 网页结构布局(html代码) <!DOCTYPE 阅读详情

相关推荐

纯原生JavaScript音乐播放器开发:Web Audio API与Canvas可视化实战

在Web开发领域,音频处理与可视化是提升用户体验的关键技术。其核心原理在于浏览器提供的Web Audio API,它允许开发者直接操作音频数据流,进行解码、分析和实时控制。这项技术的工程价值在于,它让复杂音频处理的前端实现成为可能,无需依赖第三方插件或后端服务。在实际应用中,Web Audio API常与Canvas绘图结合,用于创建动态频谱、波形等音频可视化效果,这在音乐播放器、音频编辑器、游戏音效等场景中尤为常见。本文聚焦于一个具体的实战项目——构建一个功能完整的纯原生音乐播放器,深入探讨了如何利用We

weixin_30835649的博客 458

Vue.js列表自动滚动实现:从scrollTop到requestAnimationFrame的平滑滚动方案

在前端开发中,实现流畅的列表自动滚动是提升数据展示体验的关键技术,常见于后台管理系统、数据大屏和实时信息流等应用场景。其核心原理是通过JavaScript动态控制滚动容器的scrollTop属性或利用CSS transform动画,以程序化方式驱动内容移动。从技术价值看,自动滚动不仅优化了用户被动接收信息的体验,还能有效引导视觉焦点,是前端交互设计的重要组成部分。在Vue.js生态中,开发者常结合其响应式特性,通过操作DOM、使用requestAnimationFrame优化性能,并处理无缝循环、用户交互暂

weixin_27945229的博客 344

打造无缝滚动效果的原生JavaScript教程

实现无缝滚动的基本原理主要包括以下几点:循环引用:通过编程手段让滚动内容到达边界后能够回到起始位置,形成闭环。动画过渡:运用CSS动画或JavaScript控制滚动动画的流畅过渡,确保内容滚动时平滑无卡顿。交互控制:通过用户操作(如点击或滚动)来控制滚动动画的开始、暂停、继续等行为。缓动函数控制着动画的速度变化,它在动画中的作用相当于电影的剪辑节奏。合理地使用缓动函数,可以使动画更加自然和富有弹性。常见的缓动函数包括线性、缓入、缓出、缓入缓出等。

weixin_42113456的博客 1226

使用swiper.js插件制作列表无缝匀速滚动效果

使用swiper.js插件制作列表无缝匀速滚动效果

weixin_56927228的博客 4730

基于Landsat-8数据的山西省吕梁市地表温度反演研究过程(大气校正法)

1.数据下载:本实验采用的数据是 ①从地理空间数据云下载的来自landsat8 卫星,云量<=1%,时间为2017年5月12日的山西省吕梁市影像数据。为全面覆盖吕梁市,选用了两片影像。 ②吕梁市边界矢量图 2.数据预处理 ...

weixin_45747376的博客 6601

UFS电源管理实战:如何优化手机存储的功耗与性能(附实测数据)

本文深入探讨了UFS电源管理的实战优化策略,旨在平衡手机存储的功耗与性能。通过解析UFS核心电压域与工作状态,重点介绍了通过动态调整bActiveICCLevel(活动电流等级)来实现精细控制,并结合实测数据与场景驱动的智能策略,为Android系统与硬件工程师提供了降低功耗、提升流畅度的有效方法。

weixin_29214559的博客 504

JS如何优雅的实现模块自动滚动展示

这几天做一个大屏可视化项目时,遇到一个需求,当某区域出现时,让它循环滚动展示数据。

石小石Orz的博客 919

Matlab中eig内置函数转为C语言

本文记录一下如何将MATLAB中的eig函数转为C语言,即通过C语言求解矩阵的特征值与特征向量。[V,D]=eig(Rx)中V为矩阵Rx的特征向量,D为矩阵的特征值。其中Rx维度为12*12的复矩阵。 首先在MATLAB端创建入口函数保存为eigvalue.m: 打开MATLAB Coder,添加入口函数: 3.在定义输入类型窗口中,需要添加输入数据来训练...

u011441044的博客 3516

纯JS打造循环间隔滚动公告栏

html>head>    title>纯JS打造循环间隔滚动公告栏title>    style type="text/css">...        div#scrollDiv        {...}{            width: 100%;             height: 30px;             position: relative;            

pippe的专栏 2021

【WRF模拟】土地利用类型的确定:最大覆盖法/瓦片法

土地利用类型的确定:最大覆盖法/瓦片法

WW、forever的博客 1529

详解账务核心,从入门到精通

本文系统阐述了账务体系的设计原理与实现方法,围绕支付交易的基础设施——账务系统展开深入探讨。文章首先从账务实现原理出发,强调从客户场景中抽象能力的重要性,详细解析了账务总架构及其与外围系统的协同关系。随后重点剖析了账户子系统的设计,包括账户生态、主体管理、结构设计等核心要素,并针对热点账户问题提出了多种创新解决方案。此外,文章还深入探讨了会计日切原理、营销类账务处理等专业领域,最后以支付机构场景为例,全面解析了清结算业务的账务实现模型。全文通过理论结合实践的方式,为构建高效、可靠的账务系统提供了系统性的方法

银行信息系统应用架构详解 530

无缝自动滚动,并可手动滚动图片

先看下效果图: 代码下载: http://download.youkuaiyun.com/detail/tiz198183/4659088

Java_c# 1712

电磁场仿真软件:Sonnet_(3).Sonnet用户界面与操作

Sonnet支持用户通过二次开发自定义工具,例如:编写Python脚本,实现自定义功能。将脚本保存为工具插件。在Sonnet中加载并使用自定义工具。# 示例:自定义工具 import sonnet def custom_tool(design , object , parameter , value) : """自定义工具示例,设置对象的指定参数。

kkchenjj的博客 1523

原生js 列表循环滚动

先介绍几个属性 clientHeight 元素的高度 clientTop 元素顶部边框的宽度 scrollTop 滚动条遮挡的部分的高度(包含border) scrollHeight 整个内容的高度(包含border) offsetTop 距离上一个 position 不为 static(默认) 的元素的顶部内边框的距离 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /&g

leaf的博客 1008

【RT-DETR有效改进】利用ASF-YOLO改进特征融合层(附代码 + 详细教程)

本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,达到了0.91的box mAP(平均精度),0.887的mask mAP,以及47.3FPS的推理速度,效果非常的好,这个结构本来是用于分割的,我将其移植到了目标检测的模型上,所以其可以适用于分割和目标检测。

Snu77的博客 2293

世界职业院校技能大赛—人工智能赛道项目逐字稿参考十二

世界职业院校技能大赛—人工智能赛道项目逐字稿参考十二

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 143

使用js原生代码实现类似新闻列表的滚动 题目来自4399小游戏2020年前端笔试编程题

新闻列表的滚动循环播放html代码CSS代码Script代码总结 题目要求: 要求实现以下页面,其中列表项是滚动循环播放的,而且每次只显示3个,当鼠标经过的时候停止播放,鼠标离开继续播放 const NOTICE_LIST = [ '恭喜罗X获得特等奖 别墅一套', '恭喜张4获得一等奖 跑车一辆', '恭喜张5获得二等奖 华为手机一部', '恭喜张6获得二等奖 华为手机一部', '恭喜张7获得三等奖 小米手机一部', '恭喜张8获得三

canoe777的博客 642

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

简单html无缝向上滚动,原生js 一个简单的无缝向上滚动

一、需求:1.一个列表,一页显示四条,表格头部固定,自动向上轮播,每次轮播四条即一页。2.鼠标上移停止滚动3.鼠标移走恢复滚动二、原理:1、css:通过position和relative配合,通过改变滚动部分的top值来确定显示当前可见部分盒子的高度写死,为4条列表加起来的高度,overflow设为hidden让溢出部分隐藏掉滚动部分高度自适应,等于所有列表高度(包括添加的虚拟列表)即可注意:滚动...

weixin_42303955的博客 1070

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

原生 JS+CSS 实现无缝自动轮播图

今天这篇博客,我将带大家用jQuery+CSS3实现一款无缝滚动、自动播放、左右切换、小圆点导航、鼠标悬停暂停的全能轮播图,代码简洁、注释详细、兼容性强,直接可用于项目开发!采用定位 + flex 布局,代码精简,适配所有现代浏览器,图片object-fit:cover保证不变形。/* 核心:隐藏溢出图片 *//* 图片填充容器,不变形 *//* 横向排列图片 */

2602_95057108的博客 471

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

网页音乐播放器(html+css+原生js)

想自己试做一个小网站,于是边学边做,也有了一个可以用的成品,想着拿出来并简单聊聊。决定先做一个音乐播放器。以下是我参考的文章,成品也是在这位作者的基础上改来的。

weixin_71927437的博客 2399

【前端进阶之旅】一文教会你在vue3项目中音乐歌词如何跟随音频播放而滚动

在日常使用音乐类APP时,我们总能看到一个贴心的功能——歌词随着音频的播放进度同步滚动,当前演唱的歌词会高亮放大,视觉上清晰直观,极大提升了听歌体验。作为前端开发者,你是否也想在自己的项目中实现这一功能?其实不用复杂的第三方插件,基于Vue3 + JavaScript,我们就能快速实现一个简洁、流畅的歌词滚动效果。本文将从需求分析、功能拆解、代码逐段解析,到最终优化,一步步带你吃透歌词同步滚动的核心逻辑,新手也能轻松上手,看完直接复制代码就能复用!本文适合有Vue3基础(熟悉vue3 setup。

程序员林北北的博客 716

从零到上线:手把手教你用原生JS封装一个可复用的音乐播放器组件(支持列表懒加载)

本文详细介绍了如何使用原生JavaScript从零开始封装一个可复用的音乐播放器组件,支持列表懒加载功能。通过模块化设计、音频控制核心实现、播放列表管理及性能优化等关键步骤,帮助开发者构建高效、响应式的音乐播放器,适用于各类Web应用场景。

weixin_30800987的博客 275

Vue项目实战:详解 Swiper 横向轮播与 Table 纵向自动滚动的两种实现策略

滚动效果作为一种常见的交互形式,其应用场景非常广泛,但实现方式却因布局方向和组件特性而大相径庭。Swiper 内部维护着当前的索引和位置状态,根据用户的交互或自动播放的定时器,计算出需要移动的距离,并应用到容器上,从而实现了流畅的横向滚动动画。为了实现类似新闻跑马灯的效果,我们需要直接操作表格的 DOM 元素,通过 JavaScript 定时器来模拟滚动。通过这两个案例,我们可以深刻体会到前端开发中“选择合适的工具做合适的事”的重要性。浏览器会自动将这个属性的变化渲染为滚动条的移动和内容的位移。

Mr Xu的博客 893

手写音乐播放器:原生前端技能实战指南

音乐播放器是前端开发中极具代表性的综合实战项目,它涵盖了页面结构设计、样式布局、状态管理、事件交互等核心知识点。借助HTML5音频对象与原生JavaScript的事件流控制,开发者能够深入理解播放/暂停、进度条拖拽、列表切换等底层实现原理。这类项目技术价值很高,既能巩固CSS布局与DOM操作基本功,也是前端面试中展现工程能力的亮点作品。无论是初学者串联所学知识,还是求职者准备个人项目,都能从中获得启发。本文就从零完整分享原生播放器的设计与实现过程,并剖析常见问题与优化方向。

weixin_33835461的博客 230

原生JS实现各种经典网页特效——Banner图滚动、选项卡切换、广告弹窗等

在制作网页过程中,我们可能会遇到各种常用的经典网页特效,比如Banner图片滚动、选项卡循环播放、右下角广告弹窗、评论提交展示、选项动态增删、剪刀石头布小游戏等等等。。。是不是感觉都见到过这些场景、那些这些场景都是如何实现的呢?今天,小瑞老师就一口气把所有经典网页特效效果送给大家!!! 全部都是原生JS实现哦~~根本不需要什么JQuery、AngularJS等...

weixin_34348111的博客 253
上一篇: vue单页应用下使用路由vue-router在新窗口打开页面(带参数)
下一篇: iview DatePicker 结束时间改为23:59:59
hst❀
博客等级 码龄8年 2364粉丝 147原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值