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 06 jQuery
JQuery EasyUI的一些常用组件
Jul 12 jQuery
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
jquery鼠标悬停导航下划线滑出效果
Sep 29 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
Mar 06 jQuery
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 jQuery
jQuery 淡入/淡出效果函数用法分析
May 19 jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 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的一些基础知识分享
2011/07/27 PHP
PHP积分兑换接口实例
2015/02/09 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
BootStrap中
2016/12/10 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
vue 组件基础知识总结
2021/01/26 Vue.js
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
Python制作爬虫采集小说
2015/10/25 Python
Django 重写用户模型的实现
2019/07/29 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
学校学习雷锋活动总结
2014/07/03 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
语文复习计划
2015/01/19 职场文书
英语投诉信范文
2015/07/03 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python