11 彈窗原理詳解

2022-09-13 10:24:11 字數 1955 閱讀 3163

類似廣告彈窗,一直掛在頁面上,除非使用者手動點選關閉按鈕;

類似提示框,它會停留在頁面角落幾秒,然後消失。不管頁面是否切換它都會在,沒有手動關閉按鈕;

類似輸入視窗,它會常駐頁面上,往往會有個遮罩,告訴使用者要把這個視窗完成了才能做其他事情,或者取消,它的優先順序很高,無法通過後退鍵關閉(有時候後退鍵代表切換頁面),後退只會切換頁面;

類似上面的情況,它可以通過用後退鍵關閉彈窗;

上面的彈窗擁有隨時切換內容的功能,可能是乙個彈窗,點選的時候變成乙個大表單等;

彈窗可能會生成彈窗的功能,可以擁有沒有上限的彈窗數,通過關閉最底層的彈窗來關閉所有它延伸的彈窗。

上述可能是常見的彈窗例子,還有很多非常規複雜的情況,比如用pc端彈窗模擬移動端視窗等。

在這裡我把彈窗分為2類:

它是由page例項物件彈出來的,它依賴於當前頁面,與history相關的,因此它是可以通過按後退鍵進行關閉的,上面的3,4,5情況。

function replaceproto(name, staticname, currentname) ;

this.currentpage = null; // 當前顯示的page物件

this.staticpage = null; // 布局page物件

this.changearea = null;

this.data = {};

// 其它屬性

}// 主要方法

replaceproto.prototype = create(baseproto.prototype, );

}[this.staticname, this.currentname].foreach(function (name, index)

if (--len === 0) feeback();

})}))

},// 切換頁面

render: function (pagename, isreplace, option) )

}else

},});

由此定義乙個popup物件,**如下

function popup(name, staticname, currentname) ;

// popup的主要方法

popup.prototype = create(replaceproto.prototype,

staticpage.parent = that;

currentpage.parent = that;

that.isshow = true;

staticpage.render(function (html) );

});})

});},

// 彈窗關閉

hidden: function (option, bk) );

});}

else );}},

});

與當前頁面互動

可以在頁面中自定義事件,彈窗通過觸發自定義事件,並且傳遞資料進行互動。在頁面上定義

this.attachdiyevent(eventname, handler);
然後在彈窗的頁面上觸發, this表示當前彈窗的page物件,parent代表著popup物件

this.parent.dispatcheventbyname(eventname, data);
彈窗也是按需引入的,因此需要通過配置引入

案例位址

這裡主要介紹了popup物件的原理,然而彈窗的建立是最複雜的,需要乙個popup物件和兩個page物件,好在page物件可以隨意切換,有時候建立乙個popup物件,可以復用不同的page,靈活性十足,在strui框架中,也有很多不錯的彈窗的案例。

演示**:

layer彈窗外掛程式操作方法詳解

1 首先去 外掛程式 2 在 上有演示說明 3 操作方法如何 要彈窗顯示的內容 手機彈窗效果 彈窗後兩秒自動關閉 layer.open 彈窗後點選關閉 layer.open 更多彈效果 特別說明 事件需自己繫結,以下只展現呼叫 初體驗 layer.alert 內容 第三方擴充套件 layer.ale...

11 抽屜原理 鴿巢原理

桌上有十個蘋果,要把這十個蘋果放到九個抽屜裡,無論怎樣放,我們會發現至少會有乙個抽屜裡面至少放兩個蘋果。這一現象就是我們所說的 抽屜原理 抽屜原理的一般含義為 如果每個抽屜代表乙個集合,每乙個蘋果就可以代表乙個元素,假如有n 1個元素放到n個集合中去,其中必定有乙個集合裡至少有兩個元素。抽屜原理有時...

zabbix配置詳解(11)

經過前面十篇文章,我們已經知道如何部署zabbix監控,並且使用zabbix監控伺服器基本的監控項 例如 cpu 記憶體 硬碟等 這只是乙個入門,zabbix的功能遠不止這些。這節課我們了解zabbix最核心的一部分 zabbix配置。by the way上節內容 zabbix監控第一台伺服器 本篇...