jquery 彈窗插件 layer


官網:http://sentsin.com/jquery/layer/

 

復制代碼
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  2 <html>  3 <head>  4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  5 <title>Insert title here</title>  6 <script type="text/javascript" src="jquery-1.7.1.min.js"></script>  7 <script type="text/javascript" src="layer.min.js"></script>  8  9 </head> 10 <body> 11 <input type="button" class="testBtn" value="click me"> 12 <script type="text/javascript"> 13 /*layer.alert('白菜級別前端攻城師賢心', 1);*/ 14 /*layer.confirm('白菜級別前端攻城師賢心', 8);*/ 15 /*layer.load('加載中……',4);*/ 16 /*$.layer({ 17  shade : [0], //不顯示遮罩 18  area : ['auto','auto'], 19  dialog : { 20  msg:'您是如何看待前端開發?', 21  btns : 2, 22  type : 4, 23  btn : ['重要','奇葩'], 24  yes : function(){ 25  //layer.msg('您選擇了重要。',2,1); 26  layer.closeAll(); 27  }, 28  no : function(){ 29  layer.msg('奇葩!!!',2,4); 30  } 31  } 32 });*/ 33  $('.testBtn').on('click',function(){ 34  layer.tips('tips的樣式並非是固定的,您可自定義外觀。', this, { 35  style: ['background-color:#E227C7; color:#fff', '#E227C7'], 36  maxWidth:185, 37  closeBtn:[0,true] //顯示關閉按鈕 38  }); 39  }) 40 41 </script> 42 </body> 43 </html>
復制代碼

 

  常見接口如下:

方法名 描述
$.layer({}) 核心接口,參數是一個對象,對象屬性參見上述列表。諸如layer.alert()之類的為$.layer()的包裝方法。
layer.v 獲取版本號。
layer.ready(callback) layer中的樣式文件裝載完畢后執行的方法,一般用於頁面加載時調用layer,這樣可避免樣式未加載即調用層導致的錯亂。 示例:
layer.ready(function(){
	layer.msg('Hello Layer');
});
					
layer.alert() 對單按鈕信息框的重新封裝,layer.alert(alertMsg , alertType, alertTit , alertYes),四個參數,alertMsg:信息內容(文本),alertType:提示圖標(整數,0-10的選擇),alertTit:標題 (文本),alertYes:按鈕的回調函數。 如:layer.alert('前端攻城師賢心')
layer.confirm() 對詢問框的重新封裝,layer.confirm(conMsg , conYes , conTit , conNo),四個參數,conMsg:信息內容(文本),conYes:按鈕一回調,conTit:標題(文本),conNo:按鈕二的回調。

如:

layer.confirm('確定刪除?', function(){ 
layer.msg('刪除成功!') 
});

 

layer.msg() 對無標題欄信息框層的重新封裝,layer.msg(msgText, msgTime, parme),三個參數,1.7.0開始對參數做了多重判斷,msgText:信息內容(文本),msgTime:自動關閉所需等待秒數(默認2秒),如 果parme是一個數字,則將作為msg的圖標參數,如果parme是一個函數,則將作為層消失后的end的回調,如果parme是一個object,您 可配置{type:圖標類型,shade:false//是否遮罩,如果是,不用配置,rate:'top'//彈出的動畫類型,具體值見 layer.shift的參數說明}
layer.tips() 對tips層的重新封裝,layer.tips(html, follow, parme),三個參數,html:信息內容(文本),follow:觸發事件對應的選擇器,parme是一個對象,其中包含了{time:自動關閉所需 等待秒數, maxWidth:最大寬度, guide:指引方向, style: tips樣式(參加api表格一中的style屬性)}

如:

$('.demo').click(function(){
	layer.tips('這是小提示',this);
});

 

layer.load(parme, loadIcon) 對加載層的重新封裝,如果你想在loading中附加一些文字的話,您可以這樣:layer.load('加載中'); 如果parme是一個數字,意味着parme為自動關閉所需最長等待秒數(0時則不自動關閉),loadIcon:加載圖標(整數,0-3的選擇) 如:layer.load(0, 1);
layer.area(index, options) 用於重定義指定層的寬高、坐標、z-index等。index為層的索引,options包含 {width:'',height:'',top:'',left:'',zIndex:''}等css屬性。該方法僅針對頁面層(type:1)和 iframe層(type:2)有效; 此方法為1.6.0開始新增
layer.index 靜態屬性,用於獲取最近一次觸發的層索引值
layer.getChildFrame(selector, index) 獲取子iframe中的DOM。非常實用,父窗口操作iframe中內容時可以大顯神威。index參數為1.6.0開始新增,由於允許彈出多個iframe層,所以需借助index索引來操作指定層
layer.getFrameIndex(window.name) 獲取當前所在iframe層的索引。 只允許在iframe頁面內部調用。如在內部關閉自身:
var i = parent.layer.getFrameIndex(window.name);
parent.layer.close(i);
					
layer.close(index) 用於手動關閉層。參數為layer的索引值。索引即通過彈出方法返回的值。如:

 

var i = $.layer({}); //或者 var i = layer.alert();之類的也可返回索引
layer.close('i');

 

layer.closeAll() 用於關閉所有層,在多層模式時也許會用到
layer.shift(type , rate) layer彈出時內置動畫,在success回調中使用。type:動畫類型,供七種選擇,左上(left-top),上(top), 右上(right-top),右下(right-bottom),下(bottom),左下(left-bottom),左('left')。
rate:動畫頻率,毫秒。 如:
success : function(){
   layer.shift('right-bottom' , 400); //右下角彈出,400毫秒速率
}
layer.autoArea(index) 用來處理在層中寬高改變時,重新自適應層寬高。必填參數為層的索引值
layer.iframeAuto(index) 用於讓iframe層自適應。非常實用,如果是在iframe層內部,則可通過var index = layer.getFrameIndex (window.name)得到;若在父頁面,則可通過調用iframe層的返回值得到,如var index = $.layer(); 詳見官網實例演示之iframe子父操作。
layer.setMove() 當拖拽元素改變時,可用此方法重新初始化拖拽。
layer.zIndex 全局屬性,用於獲取layer容器中的最大z-index值
layer.setTop(layerNow) 引用此方法可開啟點擊使當前窗口置頂功能,只能用於用在success回調中,layerNow參數即為success回調函數中傳過來 的參數,即當前layer容器。type:1/type:2多窗口模式時可能非常實用,當需要時,需配置zIndex:layer.zIndex,可詳見 [實力加強版]一頁的例子:[頁面層]之無限層中層
layer.path 靜態屬性一枚,獲取當前layer的存放路徑。
layer.use(module, callback) 載入一個模塊,支持載入js、css,當你試圖給layer拓展個js模塊時,用它會更高大上不是么。如載入一個js:layer.use('extend/layer.ext.js', function(){}); 詳細參考layer.ext.js

 

參數說明如下:

 

鍵: 值 描述
type : 0, 層的類型。0:信息框(默認),1:頁面層,2:iframe層,3:加載層,4:tips層。

此為重要參數,不同類型層類型的總開關,調用時必須設置。

shade : [0.5 , '#000' , true] 控制遮罩。0.5:遮罩透明度,'#000':遮罩顏色,true:是否遮罩(否:false)
shadeClose : false 用來控制點擊遮罩區域是否關閉層。(是:true)。
fix : true, 層是否固定在可視區域。否:false
fadeIn: 300, (1.7.0重新新增,1.4.*貌似也有),用於層的漸顯,值為毫秒數
move : ['.xubox_title' , true] 通過拖拽層的某個元素來實現對層的拖拽。'.xubox_title':拖拽綁定事件所在元素選擇器(默認為標題欄),true:是否允許拖拽(否:false)
moveOut : false 用於控制層是否允許被拖出可視窗口外,false:不允許,true:允許
moveType: 0 (1.7.0新增)用於配置拖拽類型,默認為空心方塊式拖動層,若值設為1,則直接拖動層
title : '信息' 控制標題欄。不想顯示標題欄,配置title:false 即可
offset : ['220px' , '50%'] 控制層坐標。'220px':縱坐標,'50%':橫坐標。 需要注意的是,像素必須帶px單位,百分比不需要。該參數靈活運用,可助你實現諸多特效。
area : ['310px' , 'auto'] 控制層寬高。'310px':寬,'auto':高。 當設置為auto時,意味着采用自適應, 當然,對於寬度,並不推薦您這樣做。
closeBtn : [0 , true] 控制層右上角關閉按鈕。0:關閉按鈕風格(1:風格2),當標題欄不存在時,自動切換為風格2。 true:是否顯示關閉按鈕(否:false)
time : 0 自動關閉等待秒數,整數值。也許它可以助你做蠻多事,想象一下吧。
bgcolor : '#fff' 用於控制層的背景色,默認白色(#fff),如設置透明,設置空字符即可。
border : [10 , 0.3 , '#000', true] 10:邊框大小,0.3:邊框透明度,'#000':邊框顏色,true:是否顯示邊框(否:false)。通過它您可以任意配置邊框,譬如你覺得邊框礙眼,趕緊啟用[0,0,'',false]吧
zIndex : 19891014 控制層堆疊順序(z-index)。整數值,默認是賢心的生日。合理設置它,可以避免與其它插件的層級沖突
maxWidth : 400 最大寬度。整數值。當寬度設為auto時才有用。
dialog: {
    btns : 1,
    btn : ['確定', '取消'],
    type : 3,
    msg : '',
    yes : function(index){ },
    no : function(index){ }
}
                        

信息框層模式提供的私有參數。使用時,按需配置即可

btns : 按鈕的個數。提供了0-2的選擇

btn : [按鈕一的文本值 , 按鈕二的文本值]

type : 圖標類型,提供了0-15的選擇,也許有你喜歡的。 設置-1不顯示圖標(1.6.0)

msg : 信息框內容,重要參數

yes : 按鈕一的回調函數

no : 按鈕二的回調函數

page: {
	dom: '#xulayer', 
	html: '',
	url: '',
	ok: function(){}
}
					
頁面層模式私有參數。dom:需要彈出的html片段所對應的選擇器(class 或 id,推薦用id,確保唯一)。html: 自定義html字符串。url:ajax請求地址。ok,ajax請求完畢后執行的回調。需要注意的是,優先級 是:html>url>dom,這意味着,當你一旦配置了html的非空值,將優先采用html中的元素彈出,如此類推,若配置html或 url,你必須也配置寬高值。html參數為layer-v1.5.1開始新增。url和ok為1.6.0開始新增
iframe: {
 src: 'http://sentsin.com'
}
					
iframe層模式私有參數。src:要打開的網址。使用率非常高,尤其是對於喜歡用iframe的同學。
loading : {type : 0} 加載層私有屬性。type:loading圖標類型(提供了0-3的選擇,試試吧,看看有無你喜歡的)。一般配合ajax使用
tips : {
    msg: '',
    follow: '',
	guide: 0,
	isGuide: true,
	style: ['tips自定義樣式', '三角形顏色']
}          
                        
tips小提示層私有屬性。
msg:提示內容。
follow:觸發事件對應的選擇器。 
guide:指引方向(0:上,1:右,2:下,3:左)。
isGuide:是否顯示默認三角形。 這個參數可配合msg幫助你自定義三角形icon
[自定義樣式示例] style: ['background-color:#FFF8ED; color:#000; border:1px solid #FF9900', '#FF9900']]。

layer-v1.7.0開始,對tips有了更為完善的支持,提供了上、右、下、左模式,可智能識別指引方向。

success : function(layer){} 層彈出成功后的回調函數
close : function(index){} 層右上角關閉按鈕的回調函數。
end : function(){} 層被徹底關閉后執行的回調函數。它的存在讓close回調成為浮雲。
moveEnd : function(){} 拖拽時鼠標按鍵放下后的回調函數
標簽: javascript, jquery


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM