jquery简易手风琴插件的封装

时间:2021-05-26

本文实例为大家分享了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; 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>

以上就是简易手风琴插件的封装和调用,最后附上最终效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章