全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)

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 


相关文章: 如何在服务器上配置二级域名建站?  西安大型网站制作公司,西安招聘网站最好的是哪个?  如何快速生成凡客建站的专业级图册?  如何访问已购建站主机并解决登录问题?  建站之星在线客服如何快速接入解答?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  ,在苏州找工作,上哪个网站比较好?  如何在Golang中指定模块版本_使用go.mod控制版本号  行程制作网站有哪些,第三方机票电子行程单怎么开?  如何在腾讯云免费申请建站?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  北京网站制作网页,网站升级改版需要多久?  山东云建站价格为何差异显著?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  宁波免费建站如何选择可靠模板与平台?  如何在Windows服务器上快速搭建网站?  如何快速搭建安全的FTP站点?  如何在阿里云完成域名注册与建站?  网站制作公司排行榜,抖音怎样做个人官方网站  Thinkphp 中 distinct 的用法解析  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  网站制作新手教程,新手建设一个网站需要注意些什么?  C++如何编写函数模板?(泛型编程入门)  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  建站之星如何开启自定义404页面避免用户流失?  建站之星如何快速生成多端适配网站?  音乐网站服务器如何优化API响应速度?  如何选择服务器才能高效搭建专属网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  建站之星后台管理:高效配置与模板优化提升用户体验  广东专业制作网站有哪些,广东省能源集团有限公司官网?  公司网站设计制作厂家,怎么创建自己的一个网站?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站之星价格显示格式升级,你的预算足够吗?  网页设计网站制作软件,microsoft office哪个可以创建网页?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  广德云建站网站建设方案与建站流程优化指南  如何做静态网页,sublimetext3.0制作静态网页?  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何通过IIS搭建网站并配置访问权限?  建站之星代理如何优化在线客服效率?  简单实现Android文件上传  如何在Golang中使用replace替换模块_指定本地或远程路径  宝塔新建站点报错如何解决?  上海网站制作开发公司,上海买房比较好的网站有哪些?  C#如何使用XPathNavigator高效查询XML  定制建站是什么?如何实现个性化需求?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  如何在建站之星绑定自定义域名? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。