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实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
JQuery实现定时刷新功能代码
May 09 jQuery
jquery图片放大镜效果
Jun 23 jQuery
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
jQuery HTML获取内容和属性操作实例分析
May 20 jQuery
jquery实现拖拽小方块效果
Dec 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
php时区转换转换函数
2014/01/07 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
微信access_token的获取开发示例
2015/04/16 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
Angular弹出模态框的两种方式
2017/10/19 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
原生js实现随机点名
2020/07/05 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python中random模块生成随机数详解
2016/03/10 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
使用pandas读取文件的实现
2019/07/31 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
应届生体育教师自荐信
2013/10/03 职场文书
高校教师自荐信范文
2014/03/13 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
银行授权委托书范本
2014/10/04 职场文书
求职信如何撰写?
2019/05/22 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
使用Redis实现实时排行榜功能
2021/07/02 Redis
html粘性页脚的具体使用
2022/01/18 HTML / CSS
V Rising 服务器搭建图文教程
2022/06/16 Servers