jquery简易手风琴插件的封装

 更新时间:2020年10月13日 15:36:16   作者:一只前端小白  
这篇文章主要为大家详细介绍了jquery简易手风琴插件的封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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实现左边浮动到一定位置时显示返回顶部按钮的效果,需要的朋友可以参考下
    2014-06-06
  • jquery 双色表格实现代码

    jquery 双色表格实现代码

    上次用javascript实现了上色表格,见<JS实现双色表格>。但通过jQuery强大的选择器可更加简洁,优雅的实现。
    2009-12-12
  • js实现表格筛选功能

    js实现表格筛选功能

    本文主要介绍了js实现表格筛选功能的代码。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • jquery点击实现升序降序图标切换

    jquery点击实现升序降序图标切换

    这篇文章主要为大家详细介绍了jquery点击实现升序降序图标切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • jQuery实现的淡入淡出二级菜单效果代码

    jQuery实现的淡入淡出二级菜单效果代码

    这篇文章主要介绍了jQuery实现的淡入淡出二级菜单效果代码,涉及jQuery中fadeIn及fadeOut的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • jQuery AJAX与jQuery事件的分析讲解

    jQuery AJAX与jQuery事件的分析讲解

    今天小编就为大家分享一篇关于jQuery AJAX与jQuery事件的分析讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • jQuery实现判断控件是否显示的方法

    jQuery实现判断控件是否显示的方法

    这篇文章主要介绍了jQuery实现判断控件是否显示的方法,涉及jQuery针对页面元素属性相关操作技巧,需要的朋友可以参考下
    2017-01-01
  • qTip 基于JQuery的Tooltip插件[兼容性好]

    qTip 基于JQuery的Tooltip插件[兼容性好]

    qTip是一个实现圆角对话气泡框样式的Tooltip jQuery插件。支持多种浏览器,可定制,功能强大。
    2010-09-09
  • jQuery实现简易的天天爱消除小游戏

    jQuery实现简易的天天爱消除小游戏

    貌似最近腾讯手机游戏天天爱消除挺火的,我也是粉丝之一,最近对javascript一直比较感兴趣然后想用js仿造一个,应该不是太难,
    2015-10-10
  • jQuery使用fadein方法实现渐出效果实例

    jQuery使用fadein方法实现渐出效果实例

    这篇文章主要介绍了jQuery使用fadein方法实现渐出效果的方法,以一个简单实例形式分析了jQuery中fadein方法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03

最新评论