jquery简易手风琴插件的封装


Posted in jQuery onOctober 13, 2020

本文实例为大家分享了jquery简易手风琴插件的封装代码,供大家参考,具体内容如下

理论基础:

基于jquery封装插件,首先我们要清楚封装的代码应该写在哪里?
毫无疑问,写在原型中...
写入原型的好处:
数据共享,节省空间
那么既然知道是写在原型中,那怎么将封装的代码写入原型呢?
首先在jq文件中找到如下代码?
jQuery.fn = jQuery.prototype = {...}
jQuery.fn等于jq对象的原型,而在jq中,jQuery可简写为$
所以我们可以直接在$.fn中编写封装的代码

/*手风琴插件封装*/
$.fn.accordion=function (ele,width) {
 //随机颜色值
 var setBgc=function (eleObj) {
 var r,g,b;
 r=Math.floor(Math.random()*256);
 g=Math.floor(Math.random()*256);
 b=Math.floor(Math.random()*256);
 $(eleObj).css("background-color","rgb("+r+","+g+","+b+")");
 }
 if (!ele)return;
 width=width||100;
 //定义变量
 var eles=this.find(ele);
 var nowW=this.width()-(eles.length-1)*width;
 var avgW=this.width()/eles.length;
 //设置颜色
 eles.each(function (index,element) {
 setBgc(element);
 });
 //添加多个事件
 eles.on({
 "mouseenter":function () {
  $(this).stop().animate({
  width:nowW
  }).css("background-size","100% 100%").siblings().stop().animate({
  width:width
  }).css("background-size","auto");
 },
 "mouseleave":function () {
  eles.stop().animate({
  width:avgW
  }).css("background-size","auto");
 }
 });
 return this;
}

以上就是封装的代码,在导入jq文件后,我们就可以直接调用了?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    div {
      width: 1200px;
      height: 400px;
      /*border: 2px solid #000;*/
      margin: 100px auto;
      overflow: hidden;
    }
    ul{
      width: 1220px;
    }
    li {
      width: 240px;
      height: 400px;
      float: left;
    }
  </style>
</head>
<body>
<div id="box">
  <ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ul>
</div>
<script src="js/jquery-1.12.4.js"></script>
<script src="jquery-accordion.js"></script>
<script>
 //调用封装的插件
  $("#box").accordion("li").find("li").each(function (index,ele) {
    $(ele).css("background-image","url(images/"+(index+1)+".jpg)");
  });
</script>
</body>
</html>

以上就是简易手风琴插件的封装和调用,最后附上最终效果图:

jquery简易手风琴插件的封装

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

jQuery 相关文章推荐
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
jquery ui sortable拖拽后保存位置
Apr 27 jQuery
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
jQuery中each循环的跳出和结束实例
Aug 16 jQuery
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
通过jQuery学习js类型判断的技巧
May 27 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
May 29 jQuery
jQuery带控制按钮轮播图插件
Jul 31 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 #jQuery
jQuery实现二级导航菜单的示例
Sep 30 #jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 #jQuery
jQuery实现带进度条的轮播图
Sep 13 #jQuery
jQuery实现鼠标拖拽登录框移动效果
Sep 13 #jQuery
jQuery实现简单全选框
Sep 13 #jQuery
jQuery+ajax实现用户登录验证
Sep 13 #jQuery
You might like
php抓取https的内容的代码
2010/04/06 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
城市精细化管理实施方案
2014/03/04 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
民生工程实施方案
2014/03/22 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
门面房租房协议书
2014/12/01 职场文书
求职简历自我评价2015
2015/03/10 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
高中班主任寄语
2019/06/21 职场文书
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL