您的位置:首页 > Web前端 > JQuery

jquery插件编写方法

2012-03-21 17:12 519 查看
使用闭包。

面向对象编程

/**
* jQuery AIUESuite V0.1
*
* author: lixiaopeng
*
* mail:lixp3@asiainfo-linkage.com
*/

(function($) {
var pageWidth =function(){
if($.browser.msie){
return document.compatMode == "CSS1Compat"? document.documentElement.clientWidth:document.body.clientWidth;
}else{
return self.innerWidth;
}
}
var pageHeight =function(){
if($.browser.msie){
return document.compatMode == "CSS1Compat"? document.documentElement.clientHeight:document.body.clientHeight;
}else{
return self.innerHeight;
}
}
$.loading = {
show : function() {
var h=pageHeight();
$(document.body).height(h);
var wrap=$(document.body);
$("<div class=\"loading-mask\" style='z-index:9998'><iframe style='display:none'/></div>").css({display:"block",width:wrap.width(),height:wrap.height(),opacity:'0.6'}).appendTo(wrap).stop().fadeTo(650, 0.6);
$("<div class=\"loading-mask-msg\" style='z-index:9999'><div class=\"loading-mask-icon\"></div><div class=\"loading-mask-text\"></div><div style=\"clear:both;\"></div><div class=\"loading-mask-succe\" style='display:none; color:#555; padding:30px; line-height:180%; font-size:14px;'><div class=\"wfb_ok\"></div><div class=\"loading-wfb-text\"></div><input type=\"button\" class=\"loading-wfb-but\" id=\"loading-wfb-but\" /></div><iframe style='display:none'/></div>").appendTo(wrap).css({display:"block",left:(wrap.width()-$("div.loading-mask-msg",wrap).outerWidth())/2,top:(wrap.height()-$("div.loading-mask-msg",wrap).outerHeight())/2,opacity:'0.6'}).stop().fadeTo(650, 1);
$("div.loading-mask-text").html($.loading.defaults.defaultMsg);
$("div.loading-wfb-text").html($.loading.defaults.wfbMsg);
$("#loading-wfb-but").bind("click",function(){
wrap.find("div.loading-mask-msg").remove();
wrap.find("div.loading-mask").remove();
$("#wfb_01_form,#wfb_01").stop().fadeTo(650,0);
$("#wfb_02").stop().fadeTo(650, 1);
});
},
changedom:function(){
var wrap=$(document.body);
wrap.find("div.loading-mask-msg .loading-mask-icon,div.loading-mask-msg .loading-mask-text").remove();
wrap.find("div.loading-mask-succe").fadeIn();
},
remove : function() {
var wrap=$(document.body);
wrap.find("div.loading-mask-msg").remove();
wrap.find("div.loading-mask").remove();
},
fadeOut:function(){
var wrap=$(document.body);
wrap.find("div.loading-mask-msg").fadeOut(1000,function(){
$.loading.remove();
});
wrap.find("div.loading-mask").fadeOut(1000,function(){
$.loading.remove();
});
},
loadElemId:function(ElemId){
var loadElem = document.getElementById(ElemId);
if (loadElem.attachEvent){
loadElem.attachEvent("onload", function(){
$.loading.fadeOut();
});
} else {
loadElem.onload = function(){
$.loading.fadeOut();
};
}

}
};
$.loading.defaults = {
defaultMsg : "系统正在加载,请稍候……",
wfbMsg : "意见已受理,赠送您的5元好利来电子代金券将于<span style='color:red;'>下月10个工作日内</span>,通过短信形式发送至您的手机,请注意查收。<br />再次感谢您的参与。"
}
$.selectPage = {
showpage : function() {
var showpageNum = $("#wlanfeedbackmesbox").attr("title");
if(showpageNum == "n"){
$("#wfb_01").css({display:"block",opacity:"0"}).stop().fadeTo(650, 1,function(){
$("#wfb_01_form").slideDown("slow");
});
}else if(showpageNum == "y"){
$("#wfb_02").css({display:"block",opacity:"0"}).stop().fadeTo(650, 1);
}
},
wfbsubmit: function() {
$("#wfb_submit").bind("click",function(){
$.loading.show();
var t=setTimeout("$.loading.changedom();",2000);
//$.loading.changedom();
});
}
};
$.weatherApp = {
intoSystem:function(skyType) {
var hdElem = $("#hd");
$("<div class='weather "+skyType+"'></div>").appendTo(hdElem).fadeIn("slow");
}
};
$.AiUEskin = {
skinloadpage:function() {
$("#AIUESkin").find("li").eq(0).addClass("skin_itrm_bluecheck");
},
skinCheckEffe:function(){
$("#AIUESkin").find("li").eq(0).bind("click",function(){
$("#AIUESkin").find("li").eq(1).removeClass("skin_itrm_redcheck");
$(this).addClass("skin_itrm_bluecheck");
$("#hd").removeClass("hd_red");
$("#logo").removeClass("logo_red");
$("div.itemText").removeClass("itemText_red");
$("#AdminInformation_show").removeClass("AdminInformation_show_red");
$("#AdminInformation_hide").removeClass("AdminInformation_hide_red");
$("#address").removeClass("address_red");
$("#ad_hide").removeClass("ad_red_hide");
$("#ad_show").removeClass("ad_red_show");
$("#AdminInformation_show").find(".changeTheme").removeClass("changeTheme_red");
$("#AdminInformation_show").find(".admin").removeClass("admin_red");
$("#AdminInformation_show").find(".logout").removeClass("logout_red");
});
$("#AIUESkin").find("li").eq(1).bind("click",function(){
$("#AIUESkin").find("li").eq(0).removeClass("skin_itrm_bluecheck");
$(this).addClass("skin_itrm_redcheck");
$("#hd").addClass("hd_red");
$("#logo").addClass("logo_red");
$("div.itemText").addClass("itemText_red");
$("#AdminInformation_show").addClass("AdminInformation_show_red");
$("#AdminInformation_hide").addClass("AdminInformation_hide_red");
$("#address").addClass("address_red");
$("#ad_hide").addClass("ad_red_hide");
$("#ad_show").addClass("ad_red_show");
$("#AdminInformation_show").find(".changeTheme").addClass("changeTheme_red");
$("#AdminInformation_show").find(".admin").addClass("admin_red");
$("#AdminInformation_show").find(".logout").addClass("logout_red");
});
}
};
$.systemAdmin = {
showMain : function() {
var pageW=pageWidth();
if(pageW<1220){
$("div#AdminInformation_show").css({left:"820px"});
$("div#AdminInformation_hide").css({left:"1063px"});
}else if(pageW>1220){
$("div#AdminInformation_show").css({left:"955px"});
$("div#AdminInformation_hide").css({left:"1195px"});
}
$("#AdminInformation_show").css({display:"block"});
$("#AdminInformation_hide").css({display:"none"});
$("#ad_hide").bind("click",function(){
$(this).parent().parent().slideUp("normal");
$("#AdminInformation_hide").slideDown("normal");
});
$("#ad_show").bind("click",function(){
$(this).parent().slideUp("normal");
$("#AdminInformation_show").slideDown("fast");
});
}
};
$.menuEffe = {
menuHavChe:function() {
var liElem = $("#menuList li");
$("<div class='menuHover'></div>").css({display:"block",opacity:"0"}).appendTo(liElem);
$("#menuList li").hover(function(){
$(this).find(".menuHover").stop().fadeTo(650, 1);
},function(){
$(this).find(".menuHover").stop().fadeTo(650, 0);
});
},
menuActive:function(){
$("#menuList>li:eq(0)").find(".itemText").addClass("itemTextActive");
$("#menuList>li").bind("click",function(){
$(this).siblings().find(".itemText").removeClass("itemTextActive");
$(this).find(".itemText").addClass("itemTextActive");
});
},
menu2LevelEffe:function(){//二级菜单效果
var MenuItemElem = $("#menuList>li");
var child_menu = $("#childMenuBoxWrap>.slideMenuBox");
MenuItemElem.bind("click",function(){
if($(this).hasClass("subMenuTrue")){
var MenuIESubIndex=$("#menuList>.subMenuTrue").index($(this));
var child_menu_left =$(this).offset().left;
var child_menu_top =$(this).offset().top+1;
child_menu.css({display:"none"});
$(child_menu.get(MenuIESubIndex)).css({left:child_menu_left,top:child_menu_top}).fadeIn("fast");
return false;
}else{
child_menu.css({display:"none"});
return false;
}
});
$("#childMenuBoxWrap .hideSlideMenu").bind("click",function(){
$(this).parent().parent().parent().fadeOut("fast");
});
$("#childMenuBoxWrap ul li").bind("click",function(){
$(this).parent().parent().parent().parent().fadeOut("fast");
});
},
menuAddress:function(){
var indexText = $("#menuList .itemText").eq(0).text();
//var imageUrl = $("#menuList .itemText").eq(0).attr("imageUrl");
$("#address").append("<span>您所在的位置:</span><span class='marg_lef'>"+indexText +"</span>");
var MenuItemElem = $("#menuList>li");
var child_menu = $("#childMenuBoxWrap>.slideMenuBox");
MenuItemElem.bind("click",function(){
if($(this).find("div.subicon").hasClass("subiconTrue")){
return false;
}else{
$.loading.show();
$("#address").contents().remove();
var ItemText = $(this).find(".itemText").text();
$("#address").append("<span>您所在的位置:<span class='marg_lef5'>"+ItemText +"</span></span>");
var ItUrl = $(this).find(".itemText").attr("ItUrl");
$("iframe#AI_frame").attr("src",ItUrl);
$.loading.loadElemId("AI_frame");
return false;
}
});
$(child_menu).find("li").bind("click",function(){
$.loading.show();
var liItemTextElem = $(this).find("span.liItem").text();
var ItUrl = $(this).attr("ItUrl");
var titItemTextElem = $(this).parent().parent().parent().prev().prev("div.slideMB_title").find("div.itemText").text();
$("#address").contents().remove();
$("#address").append("<span>您所在的位置:<span class='marg_lef5'>"+titItemTextElem +"</span><span class='marg_lef5'>>></span><span class='marg_lef5'>"+liItemTextElem +"</span></span>");
$("iframe#AI_frame").attr("src",ItUrl);
$.loading.loadElemId("AI_frame");
});

}

};
$.frameLayout ={
setPageLoad : function() {
var pageW = pageWidth();
var pageH = pageHeight();
var hdHeight= $("#hd").height();
$("#AI_frame").css({top:hdHeight}).height(pageH-hdHeight);
$("#AI_frame").width(pageW);
},
resizePage :function(){
$(window).resize(function(){
$.frameLayout.setPageLoad();
$.systemAdmin.showMain();//用户信息组件
if($("div#Minimize").css("display")=="block"){
$.frameLayout.AutoButMax();	//最大化效果
}else if($("div#Maximize").css("display")=="block"){
$.frameLayout.AutoButMin();	//最小化效果
}
});
},
AutoButMax:function(){
var pageW = pageWidth();
var pageH = pageHeight();
var hdHeight= $("#hd").height();
$("#hd").css({position:"absolute",top:"-82px"});
$("#AI_frame").css({position:"absolute",top:hdHeight-82}).height(pageH-hdHeight+82);
$("#AI_frame").width(pageW);

},
AutoButMin:function(){
var pageW = pageWidth();
var pageH = pageHeight();
var hdHeight= $("#hd").height();
$("#hd").css({"top":"0px"});
$("#AI_frame").css({top:hdHeight}).height(pageH-hdHeight);
$("#AI_frame").width(pageW);
},
AutoButMaxAnimate:function(){
var pageW = pageWidth();
var pageH = pageHeight();
var hdHeight= $("#hd").height();
/*if ($.browser.msie){//如果是ie执行下边代码
$("#hd").css({position:"absolute",top:"-82px"});
$("#AI_frame").css({position:"absolute",top:hdHeight-82}).height(pageH-hdHeight+82);
$("#AIUE_menu").css({top:"47px"});
}*/
if ($.browser.mozilla){//如果是火狐执行下边代码
$("#hd").stop().animate({top:"-=82px"},{queue:false, duration:1200, easing: 'easeOutBounce'});
$("#AI_frame").css({position:"absolute"}).height(pageH-hdHeight+82).animate({top:"-=82px"},{queue:false, duration:1200, easing: 'easeOutBounce',complete:function(){
$("#AIUE_menu").css({top:"47px"});
$("div.subiconTrue").css({left:"30px",top:"54px"});
return false;
}});
}else{
$("#hd").css({position:"absolute",top:"-82px"});
$("#AI_frame").css({position:"absolute",top:hdHeight-82}).height(pageH-hdHeight+82);
$("#AIUE_menu").css({top:"47px"});
$("div.subiconTrue").css({left:"30px",top:"54px"});
}
$("#AI_frame").width(pageW);

},
AutoButMinAnimate:function(){
var pageW = pageWidth();
var pageH = pageHeight();
var hdHeight= $("#hd").height();
/*if ($.browser.msie){//如果是ie执行下边代码
$("#hd").css({"top":"0px"});
$("#AI_frame").css({top:hdHeight}).height(pageH-hdHeight);
}*/
if ($.browser.mozilla){//如果是火狐执行下边代码
$("#hd").stop().animate({top:"+=82px"},{queue:false, duration:1200, easing: 'easeOutBounce'});
$("#AI_frame").css({position:"absolute"}).height(pageH-hdHeight).animate({top:"+=82px"},{queue:false, duration:1200, easing: 'easeOutBounce'});
} else{
$("#hd").css({"top":"0px"});
$("#AI_frame").css({top:hdHeight}).height(pageH-hdHeight);
}
$("#AI_frame").width(pageW);
},
AutoCheckMax:function(){
$("#Maximize").bind("click",function(){
var pageW = pageWidth();
$(this).css({display:"none"});
$("div#Minimize").show();
$("<div id='MaximizeText'>请按F11,体验最佳显示效果</div>").appendTo("body").css({position:"absolute",width:"300px",height:"30px","z-index":"99999",left:(pageW-300)/2,top:"200px",color:"#fff",background:"#0d408c","text-align":"center","line-height":"30px",display:"none","font-size":"14px"}).fadeIn(2000).fadeOut(2000);
function DeleMaxText(){
$("#MaximizeText").remove();
}
setTimeout(DeleMaxText,5000);
//$.frameLayout.AutoButMax();
$.frameLayout.AutoButMaxAnimate();

/*if($("#AIUE_menu").css("top"=="47px")){
$("#AIUE_menu").bind("mousemove",function(){
$(this).css({top:"87px"});
});
$("#AIUE_menu").bind("mouseout",function(){
$(this).css({top:"47px"});
});
}*/
});
},
AutoCheckMin:function(){
$("#Minimize").bind("click",function(){
$(this).css({display:"none"});
$("div#Maximize").show();
//$.frameLayout.AutoButMin();
$.frameLayout.AutoButMinAnimate();
$("#AIUE_menu").css({top:"27px"});
$("div.subiconTrue").css({left:"54px",top:"20px"});
});
}
};
$.loginEffe = {
layoutFormBox:function() {
var pageW = pageWidth();
var pageH = pageHeight();
var boxWidth= $("#login_box").width();
var boxHeight= $("#login_box").height();
$("#login_box").css({left:(pageW-boxWidth)/2,top:(pageH-boxHeight)/2});
},
layoutResize:function(){
$("#resizeCheckBut").bind("click",function(){
$.loginEffe.layoutFormBox();
$.loginEffe.formBoxBgEffent();
$.loginEffe.resizePointEffe();
});
$(window).resize(function(){
$("#resizeCheckBut").trigger("click");
});
},
loginButEffe:function(){
$("#login_button").hover(function(){
$(this).addClass("login_buttonHover");
},function(){
$(this).removeClass("login_buttonHover");
});
},
formBoxBgEffent:function(){/*这里遗留了一个动画队列的问题,等待进一步的解决*/
var checkPointElem = $("div#loginCheckPointBox>div.CheckPoint");
var loginBgElem = $("#canvasWrap>div.login_canvas");
checkPointElem.eq(0).addClass("CheckPointActive");
var pageW = pageWidth();
var pageH = pageHeight();
$("div#canvasShowBox").css({width:pageW,height:pageH});
$("div#canvasWrap").css({width:pageW*4,height:pageH});
loginBgElem.css({width:pageW,height:pageH});
$(checkPointElem).bind("click",function(){
var activeCheckIndex = checkPointElem.index($("div#loginCheckPointBox>div.CheckPointActive"));
var PointCheckIndex =checkPointElem.index($(this));
var Num = PointCheckIndex-activeCheckIndex;
var NewWidth = Num*pageW;
if(Num>0){
$("div#canvasWrap").stop().animate({left:"-="+NewWidth+"px"},{queue:false, duration:1200, easing: 'easeOutBounce',complete:function(){
return false;
}});
}else if(Num<0){
var NewWidth = -NewWidth;
$("div#canvasWrap").stop().animate({left:"+="+NewWidth+"px"},{queue:false, duration:1200, easing: 'easeOutBounce'});
}
$(this).siblings().removeClass("CheckPointActive");
$(this).addClass("CheckPointActive");
/*$(loginBgElem.get(PointCheckIndex)).siblings().fadeOut("slow");
$(loginBgElem.get(PointCheckIndex)).fadeIn("slow");
$(loginBgElem.get(PointCheckIndex)).siblings().stop().fadeTo(850, 0);
$(loginBgElem.get(PointCheckIndex)).stop().fadeTo(650, 1);*/
});
},
resizePointEffe:function(){
var checkPointElem = $("div#loginCheckPointBox>div.CheckPoint");
var loginBgElem = $("#canvasWrap>div.login_canvas");
checkPointElem.eq(0).addClass("CheckPointActive");
var pageW = pageWidth();
var pageH = pageHeight();
$("div#canvasShowBox").css({width:pageW,height:pageH});
$("div#canvasWrap").css({width:pageW*4,height:pageH});
loginBgElem.css({width:pageW,height:pageH});
}
};
$.AIUETree = {
addTabs:function(title,href) {
var conElem = $('#main-center');
if (conElem.tabs('exists', title)){
conElem.tabs('select', title);
} else {
if (href){
//var w=$("#main-center").width();
//var h=$("#main-center").height()-40;
//alert(w+"+"+h);
$.loading.show();
var content = '<iframe id="tabs_frame" onload="javascript:$.loading.fadeOut()" frameborder="0" allowtransparency="true" src="'+href+'" style="width:100%; height:100%;"></iframe>';

} else {
var content = '请查看是否含有href属性';
}
conElem.tabs('add',{
title:title,
closable:true,
fit:true,
content:content
});
}
},
loadTree:function(url){
$("#AIUETree").tree({
url:url,
dnd:true,
onClick:function(node){ //onClick:鼠标点击事件
if(node.attributes.href){
$.AIUETree.addTabs(node.text,node.attributes.href); //open_testcase()为执行的方法
}else{
return false;
}
},
onLoadSuccess:function(){
return false;
}
});
}
};
$.AIUEForm={
layout:function(){
$("table.form-layout_R2>tbody>tr").each(function(){
if($(this).find("td").attr("colspan") == 2){
$(this).find("td").css({"text-align":"center"});
}else{
$(this).find("td:even").css({width:"30%","text-align":"right",color:"#555555","font-weight":"bold",padding:"2px 5px"});
$(this).find("td:odd").css({width:"70%","text-align":"left",color:"#555555"});
}

});
$("table.form-layout_R4>tbody>tr").each(function(){
if($(this).find("td").attr("colspan") == 4){
$(this).find("td").css({"text-align":"center"});
}else{
$(this).find("td:even").css({width:"15%","text-align":"right",color:"#555555","font-weight":"bold",padding:"2px 5px"});
$(this).find("td:odd").css({width:"35%","text-align":"left",color:"#555555"});
}

});
$("table.form-layout_R6>tbody>tr").each(function(){
if($(this).find("td").attr("colspan") == 6){
$(this).find("td").css({"text-align":"center"});
}else{
$(this).find("td:even").css({width:"10%","text-align":"right",color:"#555555","font-weight":"bold",padding:"2px 5px"});
$(this).find("td:odd").css({width:"23%","text-align":"left",color:"#555555"});
}

});
//alert(1111);
}
};
$.AIUECombo={
Effect:function(selectId,slideBoxId){
$("ul.comboEffe>li:even").css({background:"#f2f2f2",height:"25px","line-height":"25px",cursor:"pointer",color:"#555555"});
$("ul.comboEffe>li:odd").css({background:"#f8f8f8",height:"25px","line-height":"25px",cursor:"pointer",color:"#555555"});
$(selectId).combo({required:true,editable:false});
$(slideBoxId).appendTo($(selectId).combo('panel'));
$(slideBoxId).find("ul.comboEffe>li").bind("click",function(){
var v = $(this).find("input:radio").val();
var s = $(this).find("input:radio").next('span').text();
$(this).find("input:radio").attr("checked","checked");
$(selectId).combo('setValue', v).combo('setText', s).combo('hidePanel');
});
//alert(1111);
},
boxEffect:function(){
$("div.combobox-item:even").css({background:"#f2f2f2",height:"25px","line-height":"25px",cursor:"pointer",color:"#555555"});
$("div.combobox-item:odd").css({background:"#f8f8f8",height:"25px","line-height":"25px",cursor:"pointer",color:"#555555"});
//alert(1111);
}
};
})(jQuery);//使用闭包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: