MyPopup,一個JavaScript(js)彈出層、彈窗、對話框組件。

MyPopup

版本 0.1.23

麥草CMS(MyCMS),簡約而不簡單。

MyPopup,做的很少。MyPopup就像alert、confirm、propmt等控件一樣僅僅彈出一個對話框,其他的交給回調函數yes和no甚至你綁定的事件處理函數,由你隨意支配。MyPopup,做的很多。大多數情況下,你不用去管MyPopup彈出的位置、寬度、高度等等,MyPopup都會智能做出判斷、渲染。

MyPopup是一個JavaScript(js)彈出層、彈窗、對話框組件。MyPopup遵循javascript邏輯,容易理解,上手簡單。MyPopup不僅模擬了alert、confirm、propmt等等控件,還擴展出tip(小提示框)、loading(加載中)、iframe(框架)、open(常規彈窗)、blank(空白彈出層)等等常用的彈出層。讓我最滿意的是tip()方法,它依附于目標彈出一個小提示框。tip()方法會根據目標元素智能渲染小提示框的位置和彈出方向。依據MyPopup的tip()方法可以輕松擴展出下拉菜單組件。小提示框有zhi(帶直角尾巴)、zhi1(帶邊框的直角尾巴)、jian(帶尖角尾巴)、noTail(不帶尾巴)四種樣式,調用方法是MyCMS.popup.tip("麥草CMS問候您",{tipStyle: "zhi"})。

簡單使用

先容我為MyPopup彈出層吹噓幾句。MyPopup彈出層同時兼容PC端和移動端;MyPopup彈出層用法簡單,js主文件引入是必不可少的,不再贅述,它的使用邏輯深度模仿alert、confirm、propmt等等原生對話框組件,簡單使用MyPopup彈出層時和使用它們相似;大多數js彈出層插件和其他js插件或js功能的耦合度都很低,MyPopup彈出層也不例外,這就注定了MyPopup彈出層插件很容易整合進其他的js框架,理論上MyPopup彈出層可以不經過任何改寫就能用在任何js框架中,具體我不好說,我沒用過任何js框架。

下載解壓縮后的文件夾一級目錄包含文件夾css、MyPopup,文件index.html,你只需要將MyPopup移入你的項目即可,其他的是演示文檔。
在頁面的頭部引入MyPopup文件夾下的MyPopup.js主文件。

//MyPopup調用:
MyCMS.popup.alert("麥草CMS向你打招呼!", {width: "100%", top: 0, left: 0, 等等等等});
MyCMS.popup.propmt("麥草CMS向你打招呼!", "默認值,我也不知道有什么用,反正一開始就有了", options);//options就是{width: "100%", top: 0, left: 0, 等等等等}(^~^)
MyCMS.popup.confirm("麥草CMS向你打招呼!");
//把MyCMS變短點:
var p = MyCMS.popup;
p.tip("麥草CMS向你打招呼!", {border: "1px solid red"});//內容是一個字符串
p.tip(document.getElementById("myDiv"), {tipStyle: "zhi1"});//內容捕獲自一個HTML元素
var c = document.createElement("div");
var d = document.createElement("div");
var t = document.createTextNode("麥草CMS向你打招呼!");
d.appendChild(t);//內容捕獲自一個動態創建的元素
c.appendChild(d);
p.tip(c, document.getElementById("target"), {color: red});//document.getElementById("target"),彈出tip的目標元素
//MyPopup彈出層返回彈出層的引用,你可以調用MyCMS.popup.colse()關閉彈出層。
var p = MyCMS.popup.loading();
MyCMS.popup.close(p);

options配置項簡介

MyPopup提供了尺寸參數width、height,定位參數position("fix","absolute")、top("30px")、right("10%")、bottom、left、direction("vertical","horizontal"等參數決定小提示框是從目標的上下左右彈出)、tipPosition("follow","target"決定當鼠標事件觸發小提示框時,小提示框是依附于鼠標彈出還是依附于目標彈出),樣式參數color、bgColor、titleColor、titleBgColor、contentBgColor、buttonColor、buttonBgcolor、border、tipStyle,回調函數yes、no,按鈕參數buttons({buttons: ["你好", "你壞"]}或{buttons: "你好"}或{buttons: ["", ""]}不顯示按鈕,目前只處理最多兩個數組項,多余的項忽略,只穿一個值(字符串或控數組項)時是“確定”按鈕值)、closeBtn(是否顯示關閉按鈕,true或false),定時關閉參數time({time: 5.8},參數是浮點數,單位是秒),標題title,是否帶遮罩shade,是否點擊彈出層外部關閉彈出層outerClick(除了alert,confirm,propmt外默認值true),移動端特殊效果tipType({tipType: "larger"},tip專用,模仿百度百科移動端彈出層),彈出層的外觀風格theme({theme: "myThenme"},自定義彈出層風格),如果空白彈出層是捕獲自DOM元素是否拖離出來isOut({isOut: true},默認值false,即不拖離)。目前只這么多接口,至于彈出層樣式若提供的接口不能滿足,你可以直接修改彈出層樣式表。

新增(2019/1/31)

新增func項,{func: function(index){//做想做的}}。在func函數中可以做一些與彈出層密切相關的事情。

變動(2019/2/13)

修正options配置項中tipType項賦值時單詞larger拼寫錯誤。由原來的lager改為larger。同步更新簡易文檔中larger拼寫錯誤。

修復自定義風格接口代碼塊中的BUG。

變動(2019/2/14)

徹底修正13日發現larger拼寫錯誤。

自定義風格

關于自定義風格,存放于myPopup的theme文件夾下,文件夾名即為風格名稱(如myTheme),樣式表名稱為myPopup.css,所有的樣式聲明在以風格名稱為名的類下(如.myTheme .popup{...})。調用方式如下:

//全局調用(調用后整個頁面應用該風格):
MyCMS.popup.init("myTheme");
MyCMS.popup.alert("全局配置我的彈出層風格");
//局部調用(只需要在具體彈出層的options配置項中加入theme參數即可,如{theme: "myTheme"}):
MyCMS.popup.alert("我要顯得出眾點", {theme: "myTheme"});

MyPopup同時兼容PC端和移動端

MyPopup同時兼容PC端和移動端。MyCMS智能判斷系統類型,渲染相應風格。MyPopup不依賴任何js庫。

暫時只這么介紹一下,會陸續完善文檔。

雜項

在互聯網高速發展的今天,Web前端彈出層組件多如牛毛,這只是我個人興趣之作,去年在網上閑逛發現layer彈出層,一時興起開始寫MyPopup,半途而廢,近日撿起來弄完了,MyPopup是個新生兒,在閱讀使用過程中的BUG、建議請至http://www.mycms.xyz指教。在這個萬物即將互聯的時代,閱讀方式不發生根本改變,javascript乃至整個web前端只會蓬勃發展

MyPopup使用Apache開源協議發布。后續會逐漸完善功能,解決兼容問題。那個懸浮的圓形關閉按鈕是最后于匆忙中完成,未做細致調整美化,不是那么美觀協調,請見諒。在閱讀使用過程中有任何BUG、建議,請至QQ群154340308留言指教。

下載

下載:http://www.mycms.xyz/MyPopup/MyPopup.rar

演示

演示:http://www.mycms.xyz/MyPopup/

圖片展示

MyPopup js彈出層效果圖片展示

模仿百度百科移動端彈出層效果

模仿百度百科移動端彈出層效果

MyPopup js彈出層效果圖片展示

MyPopup js彈出層效果圖片展示

MyPopup js彈出層效果圖片展示
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,285評論 2 376

推薦閱讀更多精彩內容