JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
发布时间 - 2026-01-11 01:56:34 点击率:次1、本文使用js+jQuery实现轮播图,需要引用jquery包,另种实现分别是animate实现自适应的轮播,以及transform平滑轮播(在注释代码中)。

2、代码中的图片大家自己更换就可以了,样式和逻辑均写在js里。
3、html标签代码,js代码
<div class="slider"> //轮播箭头 <p class="lastpic"><img src="../images/prev.png"></p> <p class="nextpic"><img src="../images/next.png"></p> //轮播图片 <ul id="slides" class="slides clearfix"> <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li> <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li> <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li> <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li> </ul> </div>
<script type="text/javascript">
$(document).ready(function() {
var len = $(".slider li").length-1;
//给slider设置样式
$(".slider").css({
"width":"100%",
"height": "inherit",
"overflow": "hidden",
"display":"inline-block"
});
//给ul设置宽度
$(".slides").css({
"position": "relative",
"width":((len+1)*100).toString()+"%",
"margin":"0",
"padding":"0"});
//给li设置百分比宽度
$(".slides li").css({
"width":(100/(len+1)).toString()+"%",
"float":"left"
});
//给图片设置宽度
$(".responsive").css({
"width":"100%",
"height":"inherit"
});
//控制点样式
$(".slider p").css({
"position": "absolute",
"z-index":"999",
"cursor": "pointer"
});
$(".slider .lastpic").css({
"left":"0",
"margin-top":"7%"
});
$(".slider .nextpic").css({
"right":"0",
"margin-top":"7%"
});
//animate移动
var i = 0;
$(".nextpic").click(function(){
moveNext(i);
});
$(".lastpic").click(function(){
moveLast(i);
});
//自动轮播
var timer = setInterval(function(){
moveNext(i);
},5000);
moveNext = function(n){
if(n==len){
i=-1;
$(".slider .slides").animate({right: ""},800);
}else{
$(".slider .slides").animate({right:((n+1)*100).toString()+"%"}, 800);
}
i++;
}
moveLast = function(n){
if(n==0){
i=len+1;
$(".slider .slides").animate({right:(len*100).toString()+"%"}, 800);
}else{
$(".slider .slides").animate({right:((n-1)*100).toString()+"%"}, 800);
}
i--;
}
//手机触摸效果
var startX,endX,moveX;
function touchStart(event){
var touch = event.touches[0];
startX = touch.pageX;
}
function touchMove(event){
var touch = event.touches[0];
endX = touch.pageX;
}
function touchEnd(event){
moveX = startX - endX;
if(moveX>50){
moveNext(i);
}else if(moveX<-50){
moveLast(i);
}
}
document.getElementById("slides").addEventListener("touchstart",touchStart,false);
document.getElementById("slides").addEventListener("touchmove",touchMove,false);
document.getElementById("slides").addEventListener("touchend",touchEnd,false);
//transition移动固定宽度,无法自适应
// $(".nextpic").click(function(){
// if(i==len){
// i=-1;
// $(".slider .slides").css({
// 'transition-timing-function':'linear',
// 'transition-duration':'800ms',
// 'transform':'translateX(0px)'
// })
// }else{
// $(".slider .slides").css({
// 'transition-timing-function':'linear',
// 'transition-duration':'800ms',
// 'transform':'translateX(-'+(i+1)*width+'px)'
// })
// }
// i++;
// });
// $(".lastpic").click(function(){
// if(i==0){
// i=len+1;
// $(".slider .slides").css({
// 'transition-timing-function':'linear',
// 'transition-duration':'800ms',
// 'transform':'translateX(-'+len*width+'px)'
// })
// }else{
// $(".slider .slides").css({
// 'transition-timing-function':'linear',
// 'transition-duration':'800ms',
// 'transform':'translateX(-'+(i-1)*width+'px)'
// })
// }
// i--;
// })
});
</script>
以上所述是小编给大家介绍的JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# js
# 实现自动轮播图
# 原生js实现轮播图的示例代码
# js实现轮播图的完整代码
# js实现支持手机滑动切换的轮播图片效果实例
# JS轮播图实现简单代码
# JS实现轮播图效果的3种简单方法
# js实现从左向右滑动式轮播图效果
# js实现点击左右按钮轮播图片效果实例
# 使用html+js+css 实现页面轮播图效果(实例讲解)
# 原生js实现无限循环轮播图效果
# JS使用定时器与事件监听实现轮播图切换功能
# 暂无
# 自适应
# 小编
# 在此
# 给大家
# 写在
# 所述
# 给我留言
# 感谢大家
# 就可以
# 疑问请
# 有任何
# text
# script
# type
# alt
# responsive
# li
# clearfix
# jpg
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何利用DOS批处理实现定时关机操作详解
Laravel怎么在Controller之外的地方验证数据
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
如何快速生成专业多端适配建站电话?
javascript读取文本节点方法小结
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
如何在橙子建站中快速调整背景颜色?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
如何在万网主机上快速搭建网站?
图册素材网站设计制作软件,图册的导出方式有几种?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Laravel如何处理CORS跨域请求?(配置示例)
C++用Dijkstra(迪杰斯特拉)算法求最短路径
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
QQ浏览器网页版登录入口 个人中心在线进入
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
java获取注册ip实例
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel如何使用查询构建器?(Query Builder高级用法)
如何快速辨别茅台真假?关键步骤解析
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何基于PHP生成高效IDC网络公司建站源码?
如何打造高效商业网站?建站目的决定转化率
Thinkphp 中 distinct 的用法解析
如何快速配置高效服务器建站软件?
Bootstrap CSS布局之列表
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
如何快速搭建支持数据库操作的智能建站平台?
智能起名网站制作软件有哪些,制作logo的软件?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
nodejs redis 发布订阅机制封装实现方法及实例代码
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
如何实现javascript表单验证_正则表达式有哪些实用技巧
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
详解vue.js组件化开发实践
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南

