最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

封裝的dialog插件 基于bootstrap模態(tài)對話框的簡單擴展

 更新時間:2016年08月10日 10:37:40   作者:muzilei  
這篇文章主要介紹了基于bootstrap模態(tài)對話框的簡單擴展,bootstrap-mzDialog插件的封裝,感興趣的小伙伴們可以參考一下

在使用bootstrap 模態(tài)對話框時需要在頁面寫對話框html,如果一個頁面有許多地方需要對話框,那意味著需要寫多個,感覺很麻煩,平時不太習(xí)慣bootstrap 模態(tài)對話框這種方式,所以做了個簡單封裝及擴展,增加了自定義標題,寬度和高度,并根據(jù)寬高居中顯示。

默認屬性:
id:"modal",//彈窗id
title:"dialog",//彈窗標題
width:"600",//彈窗寬度,暫時不支持%
height:"500",//彈窗高度,不支持%
backdrop:true,//是否顯示遮障,和原生bootstrap 模態(tài)框一樣
keyboard:true,//是否開啟esc鍵退出,和原生bootstrap 模態(tài)框一樣
remote:"",//加載遠程url,和原生bootstrap 模態(tài)框一樣
openEvent:null,//彈窗打開后回調(diào)函數(shù)
closeEvent:null,//彈窗關(guān)閉后回調(diào)函數(shù)
okEvent:null//單擊確定按鈕回調(diào)函數(shù)
使用方法:
1.通過html data-*屬性定義

復(fù)制代碼 代碼如下:
<a class="mzDialog" href="#" data-remote="test.html" data-mtitle="modal1" data-id="m1" data-width="600" data-okEvent="ok()">彈窗demo</a>

2.通過js初始化
$(".mzDialog").mzDialog();
不完善的地方及bug,這里只是學(xué)習(xí)參考,自己可以修改完善
1、bootstrap-mzDialog 插件暫時只有2個按鈕,取消和確定,暫不支持自定義按鈕,自己可以修改源代碼添加此功能。
2、只能使用html data-*方式定義,不支持js初始化時配置參數(shù),自己可以修改源碼擴展此功能。
3、寬度和高度建議不要使用百分比
4、注意這里回調(diào)函數(shù)必需是字符串格式,如okEvent:”ok()” 這里ok函數(shù)式自己定義的函數(shù),切記要帶();
js源碼:

/*------------------------------------------------------
 *封裝的dialog插件,基于bootstrap模態(tài)窗口的簡單擴展
 *作者:muzilei
 *email:530624206@qq.com
----------------------------------------------------------*/
(function ($) {
$.fn.mzDialog = function () {
   var defaults={
   id:"modal",//彈窗id
  title:"dialog",//彈窗標題
  width:"600",//彈窗寬度,暫時不支持%
  height:"500",//彈窗高度,不支持%
  backdrop:true,//是否顯示遮障,和原生bootstrap 模態(tài)框一樣
  keyboard:true,//是否開啟esc鍵退出,和原生bootstrap 模態(tài)框一樣
  remote:"",//加載遠程url,和原生bootstrap 模態(tài)框一樣
  openEvent:null,//彈窗打開后回調(diào)函數(shù)
  closeEvent:null,//彈窗關(guān)閉后回調(diào)函數(shù)
  okEvent:null//單擊確定按鈕回調(diào)函數(shù)
 };
  
 //動態(tài)創(chuàng)建窗口
 var creatDialog={
 init:function(opts){
  var _self=this;
  
  //動態(tài)插入窗口
  var d=_self.dHtml(opts);
  $("body").append(d);
  
  var modal=$("#"+opts.id);
    
  //初始化窗口
  modal.modal(opts);
  
  //窗口大小位置
  var h=modal.height()-modal.find(".modal-header").outerHeight()-modal.find(".modal-footer").outerHeight()-5;
   modal.css({'margin-left':opts.width/2*-1,'margin-top':opts.height/2*-1,'top':'50%'}).find(".modal-body").innerHeight(h);
        
  modal
  //顯示窗口
  .modal('show')
  //隱藏窗口后刪除窗口html
  .on('hidden', function () {
   modal.remove();
   $(".modal-backdrop").remove();
   if(opts.closeEvent){
   eval(opts.closeEvent);
   }
   })
  //窗口顯示后 
  .on('shown', function () {
    
   if(opts.openEvent){
   eval(opts.openEvent);
   }
   
   //綁定按鈕事件
   $(this).find(".ok").click(function(){
    if(opts.okEvent){
    var ret=eval(opts.okEvent);
    if(ret){
     modal.modal('hide');
     }
    }
    });
  
   });
  },
 dHtml:function(o){
  return '<div id="'+o.id+'" class="modal hide fade" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="width:'+o.width+'px;height:'+o.height+'px;"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="myModalLabel">'+o.title+'</h3></div><div class="modal-body"><p>正在加載...</p></div><div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">取消</button><button class="btn btn-primary ok">確定</button></div></div>';
  }
 };
  
  return this.each(function () {
     $(this).click(function(){
  var opts = $.extend({},defaults,{
   id:$(this).attr("data-id"),
   title:$(this).attr("data-mtitle"),
   width:$(this).attr("data-width"),
   height:$(this).attr("data-height"),
   backdrop:$(this).attr("data-backdrop"),
   keyboard:$(this).attr("data-keyboard"),
   remote:$(this).attr("data-remote"),
   openEvent:$(this).attr("data-openEvent"),
   closeEvent:$(this).attr("data-closeEvent"),
   okEvent:$(this).attr("data-okEvent")
  });
   
   creatDialog.init(opts);
  });
  });
 
};
 
})(jQuery);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 快速解決js動態(tài)改變dom元素屬性后頁面及時渲染的問題

    快速解決js動態(tài)改變dom元素屬性后頁面及時渲染的問題

    下面小編就為大家?guī)硪黄焖俳鉀Qjs動態(tài)改變dom元素屬性后頁面及時渲染的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • js 調(diào)用本地exe的例子(支持IE內(nèi)核的瀏覽器)

    js 調(diào)用本地exe的例子(支持IE內(nèi)核的瀏覽器)

    js 調(diào)用本地exe程序.我實驗了一下 : 使用IE內(nèi)核的瀏覽器 都支持 火狐好像不行,感興趣的碰可以研究下
    2012-12-12
  • JS加密解密之保存到桌面書簽

    JS加密解密之保存到桌面書簽

    漸進式Web應(yīng)用是一種結(jié)合了網(wǎng)頁和原生移動應(yīng)用(Native App)優(yōu)點的新型應(yīng)用開發(fā)模式,這篇文章給大家介紹JS加密解密之保存到桌面書簽的操作方法,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • js實現(xiàn)網(wǎng)頁音樂播放器

    js實現(xiàn)網(wǎng)頁音樂播放器

    這篇文章主要為大家詳細介紹了js實現(xiàn)網(wǎng)頁音樂播放器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • JS中的幾種循環(huán)和跳出方式

    JS中的幾種循環(huán)和跳出方式

    這篇文章介紹了JS中的幾種循環(huán)和跳出方式,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • JavaScript DOMContentLoaded事件案例詳解

    JavaScript DOMContentLoaded事件案例詳解

    這篇文章主要介紹了JavaScript DOMContentLoaded事件案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • JS向上取整、向下取整、四舍五入、取絕對值、取較大較小值及隨機數(shù)代碼示例

    JS向上取整、向下取整、四舍五入、取絕對值、取較大較小值及隨機數(shù)代碼示例

    在Js中對數(shù)值進行操作的場景有,向上取整、向下取整、四舍五入、固定精度、固定長度、取整,這篇文章主要給大家介紹了關(guān)于JS向上取整、向下取整、四舍五入、取絕對值、取較大較小值及隨機數(shù)的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Javascript動手實現(xiàn)call,bind,apply的代碼詳解

    Javascript動手實現(xiàn)call,bind,apply的代碼詳解

    這篇文章主要為大家詳細介紹了Javascript動手實現(xiàn)call,bind,apply的代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • JavaScript實現(xiàn)雙向鏈表過程解析

    JavaScript實現(xiàn)雙向鏈表過程解析

    這篇文章主要介紹了利用JavaScript實現(xiàn)雙向鏈表以及它的封裝和常用操作,文中的示例代碼講解詳細,對日常的學(xué)習(xí)和工作都有一定的價值,快來和小編一起學(xué)習(xí)吧
    2021-12-12
  • JavaScript獲得頁面base標簽中url的方法

    JavaScript獲得頁面base標簽中url的方法

    這篇文章主要介紹了JavaScript獲得頁面base標簽中url的方法,涉及javascript中元素的獲取及href屬性的使用技巧,需要的朋友可以參考下
    2015-04-04

最新評論

安平县| 微山县| 日照市| 洪江市| 将乐县| 永泰县| 成安县| 富顺县| 山东省| 梁山县| 岐山县| 三亚市| 泗阳县| 图木舒克市| 手游| 开远市| 白城市| 白河县| 陆丰市| 财经| 资兴市| 阿勒泰市| 禹州市| 紫阳县| 惠来县| 武山县| 赣州市| 四川省| 民丰县| 和平区| 桐庐县| 乐平市| 松桃| 新河县| 洮南市| 长葛市| 浦北县| 冕宁县| 堆龙德庆县| 威信县| 荃湾区|