日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简洁的Jquery弹出窗插件

發布時間:2024/4/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简洁的Jquery弹出窗插件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  做項目時,很多時候都需要彈窗提示。如果要求不是很嚴格的項目,直接使用alert就可以搞定。對于需要高度定制化的項目,而且要求比較高的時候,就需要設計符合整體風格的彈出層,這種有美工幫忙,也比較好搞定。最麻煩的是一些工期比較緊,alert這種簡陋的提示又不滿足要求,又沒時間做一些精美的彈出模塊的項目。

  我最近遇到很多的這種情況的Web App項目,項目工期催的很緊,又不可以直接使用alert,所以自己寫了個簡潔的jquery插件,使用非常方便,而且整體樣式簡潔大方。項目源碼的地址,https://github.com/SeedQiGit/BriefPopUp

  項目使用時需要引入1.7版本以上的jquery,其實如果要使用1.7一下版本,直接修改jquery.popup.js開頭的源代碼,把on綁定改成live即可。

  原版on綁定

$(document).on("click", '.briefPopUp', function (event) {event.preventDefault();var modalLocation = $(this).attr('data-briefPopUp-id');$('#' + modalLocation).reveal($(this).data());});

?

修改之后的綁定

$('a['data-briefPopUp-id]').live('click', function(event) {event.preventDefault();var modalLocation = $(this).attr('data-briefPopUp-id');$('#'+modalLocation).reveal($(this).data());});

這樣就可以在1.7一下版本使用了。

最后js源碼

?

(function($) { /*---------------------------Defaults for briefPopUp至簡彈窗 ----------------------------*/ /*---------------------------Listener for BriefPopUp class 監聽BriefPopUp類的單擊事件 ----------------------------*/$(document).on("click", '.briefPopUp', function (event) {event.preventDefault();var modalLocation = $(this).attr('data-briefPopUp-id');$('#' + modalLocation).reveal($(this).data());}); /*---------------------------Extend and Execute擴展和執行 ----------------------------*/$.fn.reveal = function(options) {var defaults = { animation: 'fadeAndPop', //fade, fadeAndPop, noneanimationspeed: 300, //how fast animtions arecloseonbackgroundclick: true, //if you click background will modal closedismissmodalclass: 'close-briefPopUp-modal' //the class of a button or element that will close an open modal }; //Extend dem' options 獲取設置選項var options = $.extend({}, defaults, options); return this.each(function() { /*---------------------------Global Variables全局變量 ----------------------------*/var modal = $(this),topMeasure = parseInt(modal.css('top')),topOffset = modal.height() + topMeasure,locked = false,modalBG = $('.briefPopUp-background');/*---------------------------Create Modal background 加入透明黑色的背景 ----------------------------*/if(modalBG.length == 0) {modalBG = $('<div class="briefPopUp-background" />').insertAfter(modal);} /*---------------------------Open & Close Animations 打開和關閉事件 ----------------------------*///Entrance Animations 進場動畫modal.bind('briefPopUp:open', function () {modalBG.unbind('click.modalEvent');$('.' + options.dismissmodalclass).unbind('click.modalEvent');if(!locked) {lockModal();if(options.animation == "fadeAndPop") {modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'});modalBG.fadeIn(options.animationspeed/2);modal.delay(options.animationspeed/2).animate({"top": $(document).scrollTop()+topMeasure + 'px',"opacity" : 1}, options.animationspeed,unlockModal()); }if(options.animation == "fade") {modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure});modalBG.fadeIn(options.animationspeed/2);modal.delay(options.animationspeed/2).animate({"opacity" : 1}, options.animationspeed,unlockModal()); } if(options.animation == "none") {modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure});modalBG.css({"display":"block"}); unlockModal() }}modal.unbind('briefPopUp:open');}); //Closing Animation 關閉動畫modal.bind('briefPopUp:close', function () {if(!locked) {lockModal();if(options.animation == "fadeAndPop") {modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);modal.animate({"top": $(document).scrollTop()-topOffset + 'px',"opacity" : 0}, options.animationspeed/2, function() {modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'});unlockModal();}); } if(options.animation == "fade") {modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);modal.animate({"opacity" : 0}, options.animationspeed, function() {modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure});unlockModal();}); } if(options.animation == "none") {modal.css({'visibility' : 'hidden', 'top' : topMeasure});modalBG.css({'display' : 'none'}); } }modal.unbind('briefPopUp:close');}); /*---------------------------Open and add Closing Listeners彈出層然后添加關閉監聽事件 ----------------------------*///Open Modal Immediately 立即執行打開事件modal.trigger('briefPopUp:open')//Close Modal Listeners 關閉按鈕綁定關閉事件var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () {modal.trigger('briefPopUp:close')});//如果設置為true,添加背景點擊事件if(options.closeonbackgroundclick) {modalBG.css({"cursor":"pointer"})modalBG.bind('click.modalEvent', function () {modal.trigger('briefPopUp:close')});}//esc關閉事件$('body').keyup(function(e) {if (e.which === 27) { modal.trigger('briefPopUp:close'); } // 27 is the keycode for the Escape key }); /*---------------------------Animations Locks動畫鎖定 ----------------------------*/function unlockModal() { locked = false;}function lockModal() {locked = true;} });//each call}//orbit plugin call })(jQuery); View Code

?

轉載于:https://www.cnblogs.com/qixinbo/p/7418821.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的简洁的Jquery弹出窗插件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。