h5跑马灯效果

article/2025/10/22 22:37:50

无缝滚动效果 ,外加 手指的移动效果

思路:

1.无缝滚动1个内容区域,复制一下这个内容,追加到改内容的后面,形成无缝滚动的效果

2.手指左滑右滑进行x轴方向的加减

代码如下:

<template><div class="scroll-container" ref="container"><divclass="scroll-content"ref="content"@touchstart.stop="handlerTouchStart"@touchmove.stop="handlerTouchMove"@touchend.stop="handlerTouchEnd"><!-- 滚动内容放在这里 --><div class="list"><div v-for="(item, index) in list" :key="index"><img :src="item" alt="" /></div></div></div></div>
</template><script>
import a from "../assets/imgs/1.jpg";
import b from "../assets/imgs/2.jpg";
import c from "../assets/imgs/3.jpg";
import d from "../assets/imgs/4.jpg";
import e from "../assets/imgs/5.jpg";
import f from "../assets/imgs/6.jpg";
import g from "../assets/imgs/7.jpg";
import h from "../assets/imgs/8.jpg";
import i from "../assets/imgs/9.jpg";
import j from "../assets/imgs/10.jpg";export default {data() {return {list: [a, b, c, d, e, f, g, h, i, j],startLocation: 0, //手指起始位置step: 2, //移动步长offsetX: 0, //水平方向移动的距离timerid: null, //任务idmoveDistance: 0, //手指滑动的距离contentWidth: 0 //一个容器的宽度};},mounted() {this.$nextTick(() => {// 获取滚动内容元素和容器元素const content = this.$refs.content;const container = this.$refs.container;// 获取滚动内容的宽度this.contentWidth = content.offsetWidth;// 复制滚动内容并追加到原来的内容后面const clone = content.cloneNode(true);content.parentNode.appendChild(clone);// 设置滚动内容的总宽度,使其可以无限循环滚动container.style.width = this.contentWidth * 2 + "px";// 开启动画this.startAnimation();});},methods: {startAnimation() {this.offsetX += this.step;//   if (this.offsetX <= 0 || this.offsetX >= this.contentWidth) {//     this.offsetX = 0;//   }//   if (this.offsetX % this.contentWidth == 0) this.offsetX = 0;this.limitX();this.updateAnimate(this.offsetX);this.timerid = requestAnimationFrame(this.startAnimation);},updateAnimate(x) {this.$refs.container.setAttribute("style",`width:${2 * this.contentWidth}px;transform: translateX(${-x}px)`);},handlerTouchStart(e) {cancelAnimationFrame(this.timerid);this.startLocation = e.touches[0].pageX;},handlerTouchMove(e) {const current = e.touches[0].pageX;//   手指滑动距离this.moveDistance = Math.floor(e.touches[0].pageX - this.startLocation);if (current > this.startLocation) {// 往右划this.offsetX -= Math.abs(this.moveDistance);} else {// 往左滑this.offsetX += Math.abs(this.moveDistance);}//   判断边界距离this.limitX();//   if (this.offsetX <= 0 || this.offsetX >= 1000) {//     this.offsetX = 0;//   }//   if (this.offsetX % this.contentWidth == 0) this.offsetX = 0;this.updateAnimate(this.offsetX);},handlerTouchEnd() {this.startAnimation();},limitX() {if (this.offsetX <= 0 || this.offsetX >= this.contentWidth) {this.offsetX = 0;}if (this.offsetX % this.contentWidth == 0) this.offsetX = 0;}}
};
</script>
<style scoped lang="less">
.list {height: 100px;//   background: papayawhip;display: flex;div {width: 100px;height: 100px;img {width: 100%;height: 100%;}}
}
.scroll-container {overflow-x: scroll;white-space: nowrap;
}.scroll-content {display: inline-block;
}
.scroll-content {//   animation: scroll 20s linear infinite;
}// @keyframes scroll {
//   0% {
//     transform: translateX(0);
//   }
//   100% {
//     transform: translateX(-100%);
//   }
// }
</style>


http://chatgpt.dhexx.cn/article/Fis1VYpv.shtml

相关文章

Android --- 跑马灯效果

1、基于开发者文档的官方说明 跑马灯效果主要使用的控件为TextView&#xff0c;其中涉及的几个标签如下所示&#xff1a; android:ellipsize If set, causes words that are longer than the view is wide to be ellipsized instead of broken in the middle. You will often …

html跑马灯效果

该笔记记录 <marquee> 标签&#xff0c;跑马灯除了使用js实现&#xff0c;还可以使用 marquee标签&#xff0c;自带跑马灯效果。&#xff08;marquee已经 Obsolete了&#xff0c;但是它很好用&#xff09; 基本用法 <!-- marquee是块元素&#xff0c;直接在其内部放…

跑马灯效果如何实现?Smartbi一文助你掌握

大数据时代&#xff0c;人的注意力越来越成为一种稀缺资源&#xff0c;让信息去匹配读者注意力&#xff0c;显然优于让人的注意力去适应信息。因此我们就需要在数据呈现上进行创新。那么如何让数据变得动态化&#xff0c;可视化呢&#xff1f;或许可以尝试一下跑马灯效果。 跑…

滚动动画(跑马灯动画)的几种实现方式

在大屏可视化应用中&#xff0c;滚动动效&#xff08;跑马灯效果&#xff09;也是常见的一种数据展现方式&#xff0c;本章节针对字幕滚动和列表滚动效果做一个小小的总结&#xff0c;结合vue框架&#xff0c;具体展示效果如下&#xff0c;从左至右选型技术分别为&#xff1a;m…

本地KMS虚拟服务器,搭建kms本地服务器

搭建kms本地服务器 内容精选 换一换 Kerberos是一种计算机网络认证协议&#xff0c;它允许某实体在非安全网络环境下通信&#xff0c;向另一个实体以一种安全的方式证明自己的身份。它也指由麻省理工实现此协议&#xff0c;并发布的一套免费软件。软件设计上采用客户端/服务器模…

Ubuntu搭建kms服务器

Key Management Service&#xff08;简称:KMS&#xff09;&#xff0c;这个功能是在Windows Vista之后的产品中的一种新型产品激活机制。我们可以利用手里闲置的VPS安装vlmcsd来搭建KMS激活服务器&#xff0c;这篇文章以Ubuntu为例&#xff0c;当然vlmcsd并不局限限于Ubuntu&am…

linux系统安装kms,Linux安装部署KMS服务器

Loading... # Linux 安装部署 KMS 服务器 ## 一、强制关闭kms-server服务 killall kms-server ## 二、下载 kms 服务文件 ### 1、下载 32bit包 如果你要安装 32位包&#xff0c;请直接下载 bash wget https://dl.wxlost.com/2017/01/Linux/vlmcsd-x86-musl-static -O /usr/bi…

centos7快速搭建KMS服务器

1、下载最新的vlmcsd服务端 https://github.com/Wind4/vlmcsd/releases/tag/svn1113 2、解压&#xff0c;并找到binaries/Linux/intel/static/vlmcsd-x64-musl-static并复制到到/usr/bin/vlmcsd 3、赋予执行权限 chmod x /usr/bin/vlmcsd 4、添加开机启动/etc/rc.local中添…

Windows搭建kms服务器

文章目录 使用Windows系统搭建kms服务器前言准备正式开始 使用Windows系统搭建kms服务器 前言 网上有许多搭建的教程&#xff0c;但是使用的都是Linux系统&#xff0c;而我们正常使用的则是Windows系统。对Linux不熟悉的同学看着那左一个代码命令右一个代码命令的教程如同天书…

kms服务器搭建及测试

vlmcsd代码仓库&#xff1a;https://github.com/Wind4/vlmcsd 搭建步骤 本次操作环境centos7&#xff0c;通过内网进行搭建 1.安装依赖环境 yum install gcc git make -y 2.下载源码&#xff0c;编译安装 cd /var/opt/ git clone https://github.com/Wind4/vlmcsd.git cd vlmcs…

kms的服务器改回系统默认,指定kms服务器地址后还原

指定kms服务器地址后还原 内容精选 换一换 您可以通过本节内容解决如下问题:用户在管理控制台执行弹性云服务器相关操作后出现异常,针对管理控制台提示的异常信息,应该如何处理?用户参见《弹性云服务器接口参考》调用云服务器相关的API接口时,如果返回错误码,应该如何处理…

Windows部署KMS服务器

下载安装vlmcsd 地址&#xff1a;https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz 解压 binaries.tar.gz 文件&#xff0c;找到 \binaries\Windows\intel 下的 vlmcsd-Windows-x86.exe 或者 vlmcsd-Windows-x64.exe &#xff08;根据操作系统选择…

虚拟机如何搭建kms服务器,linux 搭建kms服务器

linux 搭建kms服务器 内容精选 换一换 用户通过管理控制台创建或者导入密钥对后,在购买弹性云服务器时,登录方式选择密钥对,并选择创建或者导入的密钥对。用户购买弹性云服务器成功后,可使用密钥对的私钥登录弹性云服务器。使用的登录工具(如PuTTY、Xshell)与待登录的弹性云…

查看kms服务器信息,查看kms服务器地址

查看kms服务器地址 内容精选 换一换 可以一次添加一台服务器,也可以一次添加同一网段连续IP的多台服务器。进入任务中心可以查看状态信息,如果状态为成功,说明服务器已添加成功。 查询指定后端云服务器组的后端云服务器。支持过滤查询和分页查询。如未特殊说明,匹配规则为精…

kms服务器搭建

kms服务器搭建 1. 下载vlmcsd 地址&#xff1a;https://github.com/Wind4/vlmcsd/releases 下载最终版压缩包: binaries.tar.gz 解压后&#xff0c;可看到这个压缩包适了各种操作系统 以windows为例&#xff1a; cd C:\Users\admin\Desktop\kms\binaries\Windows\intel #create…

kms服务器修改,kms服务器ip地址修改

kms服务器ip地址修改 内容精选 换一换 以NTP服务器、DNS服务器的操作系统均为SUSE为例:登录Linux弹性云服务器。执行以下命令,切换至root用户。sudo su -sudo su -执行以下命令,编辑ntp.conf文件。vim /etc/ntp.confvim /etc/ntp.conf添加以下语句,配置NTP服务器。server N…

KMS服务器

1. 一键安装包&#xff08;本脚本安装完成后&#xff0c;会将 KMS 服务加入开机自启动&#xff09; wget --no-check-certificate https://github.com/teddysun/across/raw/master/kms.sh && chmod x kms.sh && ./kms.sh如果是国内的服务器可能无法下载成功&a…

稳定kms服务器,kms服务器

kms服务器 内容精选 换一换 请您在购买前确保已完成注册和充值。详细操作请参见如何注册公有云管理控制台的用户&#xff1f;登录管理控制台。单击管理控制台左上角的&#xff0c;选择区域和项目。选择“计算 > 弹性云服务器”。单击“购买弹性云服务器”。系统进入购买页。…

利用VLMCSD部署本地KMS服务器(Windows + CentOS7)

利用KMS激活Windows操作系统和Office早已不是什么新鲜事&#xff0c;但是呢&#xff0c;不信任来路不明的激活工具&#xff0c;外部服务器又不稳定&#xff0c;随时可能停服&#xff0c;所以&#xff0c;还是发扬自己动手、丰衣足食的优良作风&#xff0c;求人不如求己&#xf…

自己搭建 KMS激活服务器

1、C盘建KMS文件夹&#xff0c;把vlmcsd-Windows-x64.exe复制到kms文件夹内 2、以管理员运行cmd,在cmd切换到C盘KMS文件下&#xff0c;先输入cd c:/ 回车&#xff0c;再输入cd kms&#xff0c;这两个命令的意思是进入到C盘的kms文件夹下&#xff0c; 3、输入 vlmcsd-Windows-x6…