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表单验证之密码确认
May 22 jQuery
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
jQuery ajax动态生成table功能示例
Jun 14 jQuery
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
jQuery弹框插件使用方法详解
May 26 jQuery
jQuery实现二级导航菜单的示例
Sep 30 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 Calender(日历)代码分享
2014/01/03 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
javascript中this关键字详解
2016/12/12 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
vuex的使用步骤
2021/01/06 Vue.js
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
八年级数学教学反思
2014/01/31 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
数控技校生自我鉴定
2014/04/19 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
养牛场项目建议书
2014/05/13 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
单位委托书怎么写
2014/08/02 职场文书
会计实训报告范文
2014/11/04 职场文书
2019求职信大礼包
2019/05/15 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript