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 23 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
jquery之基本选择器practice(实例讲解)
Sep 30 jQuery
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
jQuery md5加密插件jQuery.md5.js用法示例
Aug 24 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
jquery实现图片放大镜效果
Dec 23 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压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
开启PHP的伪静态模式
2015/12/31 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
写js时遇到的一些小问题
2010/12/06 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
JS面向对象之单选框实现
2020/01/17 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
python 性能提升的几种方法
2016/07/15 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
python实现学生通讯录管理系统
2021/02/25 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
什么是封装
2013/03/26 面试题
初中生学习的自我评价
2013/11/14 职场文书
六五普法规划实施方案
2014/03/21 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
学校开学标语
2014/10/06 职场文书
颐和园英文导游词
2015/01/30 职场文书
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers
JavaScript实现简单的音乐播放器
2022/08/14 Javascript