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实现图片平滑滚动详解
Mar 22 jQuery
jQuery回调方法使用示例
Jun 26 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
jQuery插件实现的日历功能示例【附源码下载】
Sep 07 jQuery
jQuery中DOM操作原则实例分析
Aug 01 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
jquery实现的放大镜效果示例
Feb 24 jQuery
Jquery Fade用法详解
Nov 06 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
zend api扩展的php对象的autoload工具
2011/04/18 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
js自定义事件代码说明
2011/01/31 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
python使用pil生成缩略图的方法
2015/03/26 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
pandas 时间格式转换的实现
2019/07/06 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
python SVM 线性分类模型的实现
2019/07/19 Python
python通过实例讲解反射机制
2019/10/17 Python
django框架forms组件用法实例详解
2019/12/10 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
python中rb含义理解
2020/06/18 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
自我鉴定范文300字
2013/10/01 职场文书
乡镇保密工作责任书
2014/07/28 职场文书
私人委托书格式
2014/09/10 职场文书
场地使用证明模板
2014/10/25 职场文书
创先争优个人总结
2015/03/04 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript