jquery簡易手風琴插件的封裝
本文實例為大家分享了jquery簡易手風琴插件的封裝代碼,供大家參考,具體內容如下
理論基礎:
基于jquery封裝插件,首先我們要清楚封裝的代碼應該寫在哪里?
毫無疑問,寫在原型中...
寫入原型的好處:
數(shù)據(jù)共享,節(jié)省空間
那么既然知道是寫在原型中,那怎么將封裝的代碼寫入原型呢?
首先在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 FlexiGrid的asp.net完美解決方案 dotNetFlexGrid-.Net原生的異步表格控件
dotNetFlexGrid是一款dotNet原生的異步表格控件,他的前身是Jquery FlexiGrid插件,我們重構了FlexiGrid的大部分Javascript代碼,使其工作的更有效率,BUG更少;同時將其封裝為dotNet控件,提供了簡單易用的使用方式。2010-09-09
基于jquery的兼容各種瀏覽器的iframe自適應高度的腳本
在網(wǎng)上找了很多的iframe自適應高度的腳本,對瀏覽的的兼容性都不好。所以就想利用jquery強大的兼容性,寫一個iframe自適應高度的腳本。2010-08-08
jquery+css實現(xiàn)的紅色線條橫向二級菜單效果
這篇文章主要介紹了jquery+css實現(xiàn)的紅色線條橫向二級菜單效果,界面美觀大方,簡潔實用,通過jquery遍歷及切換頁面元素實現(xiàn)這一功能,需要的朋友可以參考下2015-08-08
jquery ajax對特殊字符進行轉義防止js注入使用示例
如果有人在留言里寫入了js語句,這結語句都會被執(zhí)行.解決辦法就是對這些特殊字符進行轉義再顯示出來,下面有個不錯的示例,感興趣的朋友可以參考下2013-11-11
輕松學習jQuery插件EasyUI EasyUI創(chuàng)建RSS Feed閱讀器
這篇文章主要幫助大家輕松學習jQuery插件EasyUI,我們將通過 jQuery EasyUI框架創(chuàng)建一個RSS閱讀器,感興趣的小伙伴們可以參考一下2015-11-11
使用jQuery設置disabled屬性與移除disabled屬性
Readonly只針對input和textarea有效,而disabled對于所有的表單元素都有效,下面為大家介紹下使用jQuery設置disabled屬性2014-08-08

