jMessageBox 基於jQuery的視窗外掛程式_jquery

來源:互聯網
上載者:User
如下圖:
  
但是這些彈出來的視窗的樣式非常的單調無法設定,並且視窗標題還根據不同的瀏覽器顯示不同的標題內容,非常的醜陋!對於高審美觀的現代人來說,就大打折扣了!

jQuery現在這麼流行、這麼火,但網上卻好像還是沒有提供類似於MessageBox的外掛程式(或者只是我沒有找到而已),類似的強制回應視窗外掛程式倒是有一大堆,但這都不是我想要的。沒現成的,就只好花點時間將我以前寫的基於我的個人JS架構的MessageBox移值過來,也就是本文的JMessageBox。

它的使用非常的簡單 CSS + JS搭配使用。CSS是用於定製視窗的樣式(具體樣本可參考文後的源碼包中的CSS樣式檔案),JS則是負責調用,如下面樣本:

樣本1: 簡單調用
複製代碼 代碼如下:

jQuery.jMessageBox.show('Hello word!');

代碼很簡單吧?是不是找到了MessageBox中的感覺?但這個方法你無法控制標題的內容(其實可以通過改變更配置置參數來改變標題)和“是”那個按鈕的動作,點擊它就只是關閉視窗。

效果圖:

樣本2: 普通調用
複製代碼 代碼如下:

jQuery.jMessageBox.show('系統訊息', '您好!');

代碼也很簡單,不是嗎?雖然可以改變標題的內容了,但這個方法你還是無法控制“是”那個按鈕的動作,點擊它就只是關閉視窗。

效果圖:

樣本3: 複雜調用
複製代碼 代碼如下:

jQuery.jMessageBox.show({
width : 350,
title : '系統訊息',
message : '是否繼續下一步操作?',
yesButton : {
click : function(){
jQuery.jMessageBox.hide();
}
},
cancelButton : {
click : function(){
jQuery.jMessageBox.hide();
}
},
bottom : {
text : '說明: 如果你想繼續操作,請點擊"是"!',
click : function(){
alert('你在點我嗎?');
}
}
});

在本樣本中,我們定義了:視窗的寬度;標題;內容;yes按鈕的動作;no按鈕的動作;cancel按鈕的動作;底部的文字說明與動作。

效果圖:

JMessageBox的參數定義
1、全域配置參數:jQuery.jMessageBox.setttings
  註:全域配置參數只在第一次調用show方法之前或調用簡單的show方法時採用!
width : 設定視窗的預設寬度,預設值是350。
title : 設定視窗的預設標題,預設值為空白。
bottomText : 設定視窗底部文字說明,預設值為空白。
yesButtonText : yes按鈕的文字,預設值為空白。
noButtonText : no按鈕的文字,預設值為空白。
cancelButtonText : cancel按鈕的文字,預設值為空白。

2、視窗配置參數。
視窗配置參數可在每次調用show方法(如上面的樣本3)時傳入,用於配置顯示的視窗樣式。
width : 設定視窗的寬度,如果不設定將取全域配置參數中的width值。
height :設定視窗的高度,如果不設定將設定為自動(推薦)
top : 設定視窗顯示時的上邊距距離。
left : 設定視窗顯示時的左邊距距離。
注意:top與left值必須同時設定或不設定。如果不設定(推薦),則預設固定置中顯示!
title : 設定視窗的標題,如果不設定將取全域配置參數中的title值。而如果值設定為null或Null 字元串,將隱藏標題列!
message : 設定視窗需要顯示的內容。 如果不設定,或設定為null或Null 字元串,則隱藏內容區。
yesButton : 設定視窗中的yes按鈕的文字(text)和點擊後處理的事件(click)。如果不設定,視窗不顯示yes按鈕。
noButton : 設定視窗中的no按鈕的文字(text)和點擊後處理的事件(click)。如果不設定,視窗不顯示no按鈕。
cancelButton : 設定視窗中的cancel按鈕的文字(text)和點擊後處理的事件(click)。如果不設定,視窗不顯示cancel按鈕。
bottom : 設定視窗底部文字欄的標題文字(text)和點擊後處理的事件(click)。如果不設定,視窗不顯示底部文字欄。


源碼與樣本下載(樣本中帶兩種風格的視窗樣式):
http://xiazai.jb51.net/200912/yuanma/jmessagebox.rar
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.