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插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
jQuery实现的背景颜色渐变动画效果示例
Mar 24 jQuery
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
jquery实现倒计时小应用
Sep 19 jQuery
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
Angular5中调用第三方库及jQuery的添加的方法
Jun 07 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
jquery 验证用户名是否重复代码实例
May 14 jQuery
jQuery位置选择器用法实例分析
Jun 28 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
使用jQuery实现购物车
Oct 29 jQuery
如何在vue 中引入使用jquery
Nov 10 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
vue模块拖拽实现示例代码
2019/03/09 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
Python对文件操作知识汇总
2016/05/15 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
python如何查看网页代码
2020/06/07 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
合作经营协议书范本
2014/04/17 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python