類似廣告彈窗,一直掛在頁面上,除非使用者手動點選關閉按鈕;
類似提示框,它會停留在頁面角落幾秒,然後消失。不管頁面是否切換它都會在,沒有手動關閉按鈕;
類似輸入視窗,它會常駐頁面上,往往會有個遮罩,告訴使用者要把這個視窗完成了才能做其他事情,或者取消,它的優先順序很高,無法通過後退鍵關閉(有時候後退鍵代表切換頁面),後退只會切換頁面;
類似上面的情況,它可以通過用後退鍵關閉彈窗;
上面的彈窗擁有隨時切換內容的功能,可能是乙個彈窗,點選的時候變成乙個大表單等;
彈窗可能會生成彈窗的功能,可以擁有沒有上限的彈窗數,通過關閉最底層的彈窗來關閉所有它延伸的彈窗。
上述可能是常見的彈窗例子,還有很多非常規複雜的情況,比如用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監控第一台伺服器 本篇...