js图片轮播插件的封装

发布时间 - 2026-01-11 02:26:50    点击率:

本文为大家分享了js图片轮播插件的具体代码,供大家参考,具体内容如下

我封装的这个轮播插件只需要获取到图片和按钮就可以啦。

css 样式

.body{
  width: 700px;
  margin: 100px auto;
  position: relative;
  height: 300px;
  overflow: hidden;
 }
 .body img{
  width: 700px;
  position: absolute;
  display: none;
 }
 .body ul{
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);

 }
 .body li{
  list-style: none;
  float: left;
  width: 15px;
  height: 15px;
  border-radius: 50px;
  background: none;
  border: 2px solid #fff;
  margin-right: 10px;
  cursor: pointer;
 }
 .active{
  background-color: #fff !important;

 }
 .body a{
  text-decoration: none;
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  height: 50px;
  width: 30px;
  background-size: 100% 60%;
  background-color: rgba(0,0,0,0.3);
 }
 .left{
  left: 0;
  background: url('../img/left.png') no-repeat center center;
 }
 .right{
  right: 0;
  background: url('../img/right.png') no-repeat center center;
 }

页面结构 html 代码

<body>
 <div class="body">
  <img src="img/1.jpg">
  <img src="img/2.jpg">
  <img src="img/3.jpg">

<ul>
   <li class="active"></li>
   <li></li>
   <li></li>
  </ul>
  <a href="javascript:;" class="left"></a>
  <a href="javascript:;" class="right"></a>
 </div>

js部分,插件调用

<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
 <script type="text/javascript" src="js/slider.js"></script>
 <script type="text/javascript">
 $.slider({
  imgElement:$(".body img"),
  liElement:$(".body li"),
  leftBtn:$(".left"),
  rightBtn:$(".right"),
  time:2000
 })
</script>

封装的插件

(function($){
 function slider(options){
  this.opts=$.extend({},slider.defaluts,options);
  this._imgSlider();
 }
 //设置默认值
 slider.defaluts={
  imgElement:null,
  liElement:null,
  leftBtn:null,
  rightBtn:null,
  time:2000
 }
 slider.prototype._imgSlider=function(){
  var opts=this.opts,
   index=0,
   len=opts.imgElement.length,
   timeInter=null;
  if(opts.imgElement=='') return;
  opts.imgElement.eq(0).show();
  showTime();
   //当鼠标经过 轮播停止,移开继续
   opts.imgElement.hover(function() {
    clearInterval(timeInter);
   }, function() {
    showTime();
   });

  //点击li 显示对应的图片
  opts.liElement.click(function(){
   var id=$(this).index();
   show(id);
  });
  //向左向右
  opts.leftBtn.click(function(){
   clearInterval(timeInter);
   --index;
   index=Math.max(0,index);
   show(index);
   showTime();
  });
  opts.rightBtn.click(function(){
   clearInterval(timeInter);
   ++index;
   index=Math.min(len-1,index);
   show(index);
   showTime();
  });


  function showTime(){
   timeInter=setInterval(function(){
    index++;
    if(index>len){
     index=0;
    }
    show(index);
   },opts.time);
  }
  function show(index){
   opts.imgElement.eq(index).fadeIn(1000).siblings('img').fadeOut(1000);
   opts.liElement.eq(index).addClass('active').siblings('li').removeClass('active');
  }

 }
 $.extend({
  slider:function(options){
   new slider(options);
  }
 })
})(jQuery)

效果图

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

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


# js  # 图片轮播  # 原生JS实现旋转木马式图片轮播插件  # Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)  # 非常优秀的JS图片轮播插件Swiper的用法  # Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js  # 原生JS轮播图插件  # jQuery实现图片轮播效果代码(基于jquery.pack.js插件)  # BootStrap的JS插件之轮播效果案例详解  # 基于cssSlidy.js插件实现响应式手机图片轮播效果  # js轮播图的插件化封装详解  # 原生js无缝轮播插件使用详解  # 只需要  # 大家分享  # 具体内容  # 移开  # 大家多多  # 就可以  # 默认值  # 当鼠标  # background  # solid  # radius  # fff  # cursor  # list  # li  # translateX  # style  # border  # float  # pointer 


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


相关推荐: node.js报错:Cannot find module &#39;ejs&#39;的解决办法  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何快速启动建站代理加盟业务?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  个人网站制作流程图片大全,个人网站如何注销?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  高防服务器租用如何选择配置与防御等级?  javascript日期怎么处理_如何格式化输出  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  SQL查询语句优化的实用方法总结  php485函数参数是什么意思_php485各参数详细说明【介绍】  php 三元运算符实例详细介绍  如何在 Pandas 中基于一列条件计算另一列的分组均值  香港服务器如何优化才能显著提升网站加载速度?  Python并发异常传播_错误处理解析【教程】  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Bootstrap整体框架之JavaScript插件架构  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  微信小程序 配置文件详细介绍  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何挑选优质建站一级代理提升网站排名?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel如何实现用户密码重置功能?(完整流程代码)  如何用花生壳三步快速搭建专属网站?  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel如何处理文件下载请求?(Response示例)  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  利用python获取某年中每个月的第一天和最后一天  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  html如何与html链接_实现多个HTML页面互相链接【互相】  网站图片在线制作软件,怎么在图片上做链接?  Laravel如何发送系统通知?(Notification渠道示例)  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  利用JavaScript实现拖拽改变元素大小  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  MySQL查询结果复制到新表的方法(更新、插入)  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何快速完成中国万网建站详细流程?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧