js轮播图无缝滚动效果

发布时间 - 2026-01-11 01:55:55    点击率:

在做轮播图时如果首尾不能连起来的话,效果会有点丑,下面介绍一种我常用的方法:

先文字说明一下:

如果要展示5张图,分别为1,2,3,4,5  那么在代码的引入中是这样的:1,2,3,4,5,1

按顺序的轮播在此就不多说,重点说的是5>1和1>5的轮播

i  表示当前图片的索引

pre 表示上一张图片的按钮

next 表示下一张图片的按钮

ul 表示图片列表

(1)  5>1>2...   当“next”按钮从5到1时按顺序正常轮播,当前图片为第二个“1”时,下一张图片应该是“2”,那么再“next”时是ul的left的值为0,i==1;

(2) 1>5>4....  当“pre”按钮从当前图片“1”(第一个1)轮播到图片5时,i==4,ul的left值变为img宽的-5倍,也就是让第一个1悄悄的变为最后一个1;

用语言表述有点乱,下面放代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style type="text/css">
 *{padding: 0;margin: 0;}
 .container{
 width: 273px;height: 163px;overflow: hidden;
 position: relative;margin: 0 auto;
 }
 .list{
 position: absolute;width: 1638px;top: 0;left: 0px;
 }
 .list li{
 float: left;list-style: none;
 }
 .btn{
 position: absolute;display: block;width: 40px;height: 50px;font-size: 40px;
 text-align: center;font-weight: bold;top: 50%;margin-top: -25px;background-color: rgba(255,255,255,0.5);cursor:pointer;
 }
 .btn:hover{
 background-color: rgba(0,0,0,0.3);color: #fff;
 }
 .pre{
 left: 0;
 }
 .next{
 right: 0;
 }
 .nav{
 position: absolute;bottom: 5px;display: flex;justify-content: center;width: 100%;
 }
 .nav span{
 width: 10px;height: 10px;border-radius: 10px;background-color: #fff;z-index: 2;display: inline-block;margin-right: 10px;cursor: pointer;
 }
 span.on{
 background-color: orange;
 }
 </style>
</head>
<body>
 <div class="container">
 <ul class="list" style="left: 0px">
 <li><img src="./images/1.png" alt=""></li>
 <li><img src="./images/2.png" alt=""></li>
 <li><img src="./images/3.png" alt=""></li>
 <li><img src="./images/4.png" alt=""></li>
 <li><img src="./images/5.png" alt=""></li>
 <li><img src="./images/1.png" alt=""></li>
 </ul>
 <div class="nav">
 <span class="on"></span>
 <span></span>
 <span></span>
 <span></span>
 <span></span>
 </div>
 <em class="next btn">></em>
 <em class="pre btn"><</em>
 </div>
 <script type="text/javascript" src="../jquery.js"></script>
 <script type="text/javascript">
 $(function(){
 var i=0;
 $('.next').click(function(){
 i++;
 console.log(i);
 
 moveImg(i);
 
 });
 $('.pre').click(function(){
 i--;
 moveImg(i);
 
 });
 $('.nav span').click(function(){
 var _index=$(this).index();
 i=_index;
 moveImg(i);
 
 
 });
 // i的作用:决定下一张图片是谁————也就是说ul的left是多少。
 // $('.list').css({left)的值是从图a过度是此时的ul的left。
 function moveImg(){
 if (i==6) {
 i=1;
 $('.list').css({'left':'0'});
 }
 // 是第一张
 if(i==-1){
 i=4;
 $('ul').css({left:(5*-273)});
 }
 $('.list').stop().animate({'left':-273*i+'px'},1000);
 if (i==5) {
 $('.nav span').eq(0).addClass('on').siblings().removeClass('on');
 
 }
 $('.nav span').eq(i).addClass('on').siblings().removeClass('on');
 
 }
 })
 </script>
</body>
</html>

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js轮播图无缝滚动  # js无缝滚动  # js轮播  # vue利用better-scroll实现轮播图与页面滚动详解  # 如何使用JavaScript实现无缝滚动自动播放轮播图效果  # 原生Js 实现的简单无缝滚动轮播图的示例代码  # 解决vue-seamless-scroll滚动加点赞衔接处数据不同步问题  # JavaScript滚动轮播图制作原理详解  # vue+j简单的实现轮播效果  # 滚动公告  # 衔接  # 下一张  # 第一个  # 的是  # 在此  # 是这样  # 就不  # 是从  # 第二个  # 分别为  # 多说  # 第一张  # 值为  # 大家多多  # 文字说明  # 应该是  # 言表  # 也就是说  # height  # px  # overflow 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何处理表单验证?(Requests代码示例)  大型企业网站制作流程,做网站需要注册公司吗?  iOS验证手机号的正则表达式  详解jQuery中的事件  Laravel如何集成Inertia.js与Vue/React?(安装配置)  如何在Windows 2008云服务器安全搭建网站?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Laravel怎么上传文件_Laravel图片上传及存储配置  Python结构化数据采集_字段抽取解析【教程】  如何在Ubuntu系统下快速搭建WordPress个人网站?  Laravel如何实现本地化和多语言支持?(i18n教程)  如何在万网主机上快速搭建网站?  网页设计与网站制作内容,怎样注册网站?  在线制作视频网站免费,都有哪些好的动漫网站?  如何自定义建站之星网站的导航菜单样式?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  javascript中闭包概念与用法深入理解  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  西安专业网站制作公司有哪些,陕西省建行官方网站?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何在橙子建站上传落地页?操作指南详解  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  如何有效防御Web建站篡改攻击?  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Laravel怎么清理缓存_Laravel optimize clear命令详解  如何快速辨别茅台真假?关键步骤解析  大连 网站制作,大连天途有线官网?  如何安全更换建站之星模板并保留数据?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何在IIS中新建站点并解决端口绑定冲突?  简历在线制作网站免费版,如何创建个人简历?  Python文件操作最佳实践_稳定性说明【指导】  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel如何使用Collections进行数据处理?(实用方法示例)  详解Android——蓝牙技术 带你实现终端间数据传输  黑客如何利用漏洞与弱口令入侵网站服务器?  如何用y主机助手快速搭建网站?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  奇安信“盘古石”团队突破 iOS 26.1 提权  WordPress 子目录安装中正确处理脚本路径的完整指南