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开源组件BootstrapValidator使用详解
Jun 29 jQuery
jQuery实现键盘回车搜索功能
Jul 25 jQuery
基于jquery实现多选下拉列表
Aug 02 jQuery
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 jQuery
jQuery Layer弹出层传值到父页面的实现代码
Aug 17 jQuery
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
jQuery 查找元素操作实例小结
Oct 02 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
jQuery HTML获取内容和属性操作实例分析
May 20 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
实用函数9
2007/11/08 PHP
php函数的常用方法及注意之处小结
2011/07/10 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php车辆违章查询数据示例
2016/10/14 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
python控制nao机器人身体动作实例详解
2019/04/29 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
党校学习党性分析材料
2014/12/19 职场文书
如何写辞职信
2015/05/13 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android
什么是SOLID
2022/03/24 Javascript