新闻中心
为你的HTML/J*aScript轮播图添加滑动效果

本文将指导你如何使用HTML、CSS和J*aScript为你的轮播图添加炫酷的滑动(slide-in/slide-out)效果。我们将通过动态切换CSS类来实现图片的滑动进出,从而提升用户体验。本文提供详细的代码示例和步骤说明,帮助你轻松实现这一功能。
实现滑动效果的关键步骤
实现轮播图的滑动效果,核心在于使用J*aScript动态地添加和移除CSS类,从而触发CSS动画。以下是详细的步骤和代码示例。
1. CSS动画的定义
首先,我们需要定义控制滑动效果的CSS动画。在你的CSS样式表中,确保已经定义了slide-in和slide-out动画。
.slide-in {
-webkit-animation-name: slide-in-right;
-webkit-animation-duration: 1.5s;
animation-name: slide-in-right;
animation-duration: 1.5s;
}
.slide-out {
-webkit-animation-name: slide-out-left;
-webkit-animation-duration: 1.5s;
animation-name: slide-out-left;
animation-duration: 1.5s;
}
@keyframes slide-in-right {
0% { transform: translateX(100%); }
100% { transform: translateX(0%); }
}
@-webkit-keyframes slide-in-right {
0% { -webkit-transform: translateX(100%); }
100% { -webkit-transform: translateX(0%); }
}
@keyframes slide-out-left {
0% { transform: translateX(0%); }
100% { transform: translateX(-100%); }
}
@-webkit-keyframes slide-out-left {
0% { -webkit-transform: translateX(0%); }
100% { -webkit-transform: translateX(-100%); }
}这段CSS代码定义了slide-in和slide-out两个类,分别对应从右侧滑入和从左侧滑出的动画效果。
2. J*aScript代码的修改
接下来,我们需要修改J*aScript代码,在显示新图片和隐藏旧图片时,动态地添加和移除这些CSS类。找到你的showSlides函数,并进行如下修改:
秀脸FacePlay
一款集成AI换脸、照片跳舞等多种AI特效玩法的App
124
查看详情
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("mySlides");
if(n > slides.length) {
slideIndex = 1
}
if(n < 1) {
slideIndex = slides.length
}
// 找到当前显示的slide
let slideToHide;
for(i = 0; i < slides.length; i++) {
if(slides[i].style.display === "block") {
slideToHide = slides[i];
break;
}
}
// 隐藏所有slide
for(i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
// 显示当前slide
let slideToShow = slides[slideIndex - 1];
slideToShow.style.display = "block";
// 添加/移除动画类
if (slideToHide) {
slideToHide.classList.remove("slide-in");
slideToHide.classList.add("slide-out");
}
slideToShow.classList.remove("slide-out");
slideToShow.classList.add("slide-in");
}这段代码首先找到当前显示的slide,然后在隐藏所有slide之前,为当前显示的slide添加slide-out类并移除slide-in类,为即将显示的slide添加slide-in类并移除slide-out类。
3. HTML结构的调整
确保你的HTML结构中,每个轮播图的元素都具有mySlides类。
<div class="mySlides"> @@##@@ </div> <div class="mySlides"> @@##@@ </div>
完整示例代码
1 / 6
@@##@@
HR Koopman postcard of 112th and Michigan, facing north, in 1896.
2 / 6
@@##@@
HR Koopman photograph of workmen digging sewer system on 111th and Michigan in 1900.
3 / 6
@@##@@
111th and Michigan in 1903 taken by HR Koopman.
4 / 6
@@##@@
HR Koopman postcard showing a busy section of South Michigan Avenue on 113th street in 1904.
5 / 6
@@##@@
Roseland celebrates its 60th anniversary with a huge parade on July 5th, 1909.
6 / 6
@@##@@
HR Koopman photograph of 115th and Michigan in 1910 showing horse and buggies, a streetcar, and bicycles.
<script>
let slideIndex = 1;
function plusSlides(n) {
showSlides(slideIndex += n);
}
function currentSlide(n) {
showSlides(slideIndex = n);
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("mySlides");
if(n > slides.length) {
slideIndex = 1
}
if(n < 1) {
slideIndex = slides.length
}
// 找到当前显示的slide
let slideToHide;
for(i = 0; i < slides.length; i++) {
if(slides[i].style.display === "block") {
slideToHide = slides[i];
break;
}
}
// 隐藏所有slide
for(i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
// 显示当前slide
let slideToShow = slides[slideIndex - 1];
slideToShow.style.display = "block";
// 添加/移除动画类
if (slideToHide) {
slideToHide.classList.remove("slide-in");
slideToHide.classList.add("slide-out");
}
slideToShow.classList.remove("slide-out");
slideToShow.classList.add("slide-in");
}
// 自动播放
function runSlideShow() {
plusSlides(1);
setTimeout(runSlideShow, 2000);
}
setTimeout(runSlideShow, 2000);
</script>
注意事项
- 确保CSS动画名称与J*aScript代码中添加/移除的类名一致。
- 根据需要调整动画的持续时间(animation-duration)和缓动函数(animation-timing-function)。
- 可以根据实际情况修改slide-in和slide-out动画的具体效果,例如改变滑动的方向。
- 为了更好的用户体验,可以考虑在动画结束后移除slide-out类,避免潜在的样式冲突。
总结
通过本文的教程,你学会了如何为HTML/J*aScript轮播图添加滑动效果。这种动态添加和移除CSS类的方法不仅适用于轮播图,还可以应用于其他需要动画效果的场景。希望本文对你有所帮助!








以上就是为你的HTML/J*aScript轮播图添加滑动效果的详细内容,更多请关注其它相关文章!
# 显示效果
# seo外链有效果吗
# 沙田seo优化管理系统
# 女生学seo
# 网站建设招聘
# 康平创新网站建设概况
# 网络软文推广营销策划
# 组建网站建设
# 永康网站建设平台
# 郑州推广网站排名第一
# 淘宝网站建设协议
# 对你
# 适用于
# 还可以
# 这一
# css
# 样式表
# 这段
# 单选框
# 表单
# 移除
# css样式
# css动画
# win
# ai
# ssl
# html
# java
# javascript
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
漫蛙2网页版漫画入口 漫蛙漫画在线官方登录
J*aScript打印功能_j*ascript输出控制
千牛数据看板网页版_千牛数据看板网页版访问方法
Win10如何清理注册表垃圾 Win10手动清理无效注册表【技巧】
Golang并发任务中错误如何聚合_Golang goroutine error收集方式
php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】
Golang如何优化CPU绑定任务分配策略_Golang CPU任务分配优化实践
三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】
将HTML Canvas内容转换为可上传的图像文件(File对象)
邮政快递单号查询入口 邮政快递物流信息在线查询入口
汽水音乐在线版入口_汽水音乐网页播放手册
BetterDiscord插件中安全更新用户简介的实践指南
LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别
厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新
在J*aScript中复现SciPy的B样条拟合与求值:关键考量
支付宝解绑银行卡步骤_支付宝如何解除绑定银行卡
最新韩小圈网页版登录入口_官网在线观看官方链接
如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
PHP表单数据传递:如何通过隐藏输入字段获取动态ID
QQ邮箱网页版入口页面 QQ邮箱在线登录入口官网
新手怎么开始学化妆 零基础化妆入门教程
sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE
夸克浏览器桌面版同步不了书签怎么处理 夸克浏览器跨设备同步异常解决方案
Typer应用中灵活处理命令行参数的令牌化与解析
QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址
深入理解rpy2中的类型转换:优化Python对象到R矩阵的映射
批改网学生版PC登录 批改网官网登录系统入口
QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台
c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解
谷歌浏览器浏览体验优化_谷歌浏览器新版直连永久可用提示
小米Civi 4录制视频过暗_小米Civi 4亮度优化
composer的"require-dev"部分是用来做什么的?
J*a 递归快速排序中静态变量的状态管理与陷阱
一加手机拍照效果不好怎么办 一加哈苏影像调校与专业模式使用教程【高手篇】
Animex动漫社网入口地址 Animex动漫社网正版在线入口
如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit
win11如何卸载Windows更新补丁 Win11解决更新导致系统不稳定的问题【修复】
Linux如何构建多环境配置管理_Linux多环境配置方案
Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程
网易大神怎么保存别人动态的图片_网易大神动态图片保存方法
单射、满射与双射的关系 一文理清所有逻辑
Mac怎么锁定备忘录_Mac备忘录加密设置教程
PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程
c++ 获取系统当前时间 c++时间戳获取方法
Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示
sublime怎么设置启动时打开的窗口_sublime会话管理与热退出
海量存储:机器视觉智能化的核心基石
离线运行Go语言之旅:本地部署与GOPATH配置指南


2025-10-12
浏览次数:次
返回列表
slideToHide.classList.remove("slide-in");
slideToHide.classList.add("slide-out");
}
slideToShow.classList.remove("slide-out");
slideToShow.classList.add("slide-in");
}
// 自动播放
function runSlideShow() {
plusSlides(1);
setTimeout(runSlideShow, 2000);
}
setTimeout(runSlideShow, 2000);
</script>