jquery簡易手風(fēng)琴插件的封裝
本文實例為大家分享了jquery簡易手風(fēng)琴插件的封裝代碼,供大家參考,具體內(nèi)容如下
理論基礎(chǔ):
基于jquery封裝插件,首先我們要清楚封裝的代碼應(yīng)該寫在哪里?
毫無疑問,寫在原型中...
寫入原型的好處:
數(shù)據(jù)共享,節(jié)省空間
那么既然知道是寫在原型中,那怎么將封裝的代碼寫入原型呢?
首先在jq文件中找到如下代碼?
jQuery.fn = jQuery.prototype = {...}
jQuery.fn等于jq對象的原型,而在jq中,jQuery可簡寫為$
所以我們可以直接在$.fn中編寫封裝的代碼
/*手風(fēng)琴插件封裝*/ $.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; //設(shè)置顏色 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; }
以上就是封裝的代碼,在導(dǎo)入jq文件后,我們就可以直接調(diào)用了?
<!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> //調(diào)用封裝的插件 $("#box").accordion("li").find("li").each(function (index,ele) { $(ele).css("background-image","url(images/"+(index+1)+".jpg)"); }); </script> </body> </html>
以上就是簡易手風(fēng)琴插件的封裝和調(diào)用,最后附上最終效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery Easyui使用(一)之可折疊面板的布局手風(fēng)琴菜單
- jquery插件制作 手風(fēng)琴Panel效果實現(xiàn)
- jQuery制作效果超棒的手風(fēng)琴折疊菜單
- jQuery實現(xiàn)的簡單手風(fēng)琴效果示例
- 基于Jquery代碼實現(xiàn)手風(fēng)琴菜單
- 基于jquery的slideDown和slideUp做手風(fēng)琴
- jquery實現(xiàn)手風(fēng)琴效果實例代碼
- jquery手風(fēng)琴特效插件
- Jquery組件easyUi實現(xiàn)手風(fēng)琴(折疊面板)示例
- jquery實現(xiàn)手風(fēng)琴效果
相關(guān)文章
JQuery FlexiGrid的asp.net完美解決方案 dotNetFlexGrid-.Net原生的異步表格控件
dotNetFlexGrid是一款dotNet原生的異步表格控件,他的前身是Jquery FlexiGrid插件,我們重構(gòu)了FlexiGrid的大部分Javascript代碼,使其工作的更有效率,BUG更少;同時將其封裝為dotNet控件,提供了簡單易用的使用方式。2010-09-09基于jquery的兼容各種瀏覽器的iframe自適應(yīng)高度的腳本
在網(wǎng)上找了很多的iframe自適應(yīng)高度的腳本,對瀏覽的的兼容性都不好。所以就想利用jquery強大的兼容性,寫一個iframe自適應(yīng)高度的腳本。2010-08-08jquery+css實現(xiàn)的紅色線條橫向二級菜單效果
這篇文章主要介紹了jquery+css實現(xiàn)的紅色線條橫向二級菜單效果,界面美觀大方,簡潔實用,通過jquery遍歷及切換頁面元素實現(xiàn)這一功能,需要的朋友可以參考下2015-08-08jquery ajax對特殊字符進行轉(zhuǎn)義防止js注入使用示例
如果有人在留言里寫入了js語句,這結(jié)語句都會被執(zhí)行.解決辦法就是對這些特殊字符進行轉(zhuǎn)義再顯示出來,下面有個不錯的示例,感興趣的朋友可以參考下2013-11-11輕松學(xué)習(xí)jQuery插件EasyUI EasyUI創(chuàng)建RSS Feed閱讀器
這篇文章主要幫助大家輕松學(xué)習(xí)jQuery插件EasyUI,我們將通過 jQuery EasyUI框架創(chuàng)建一個RSS閱讀器,感興趣的小伙伴們可以參考一下2015-11-11使用jQuery設(shè)置disabled屬性與移除disabled屬性
Readonly只針對input和textarea有效,而disabled對于所有的表單元素都有效,下面為大家介紹下使用jQuery設(shè)置disabled屬性2014-08-08