window.open()實現彈出視窗居中顯示程式碼例項
本章節通過程式碼例項詳細介紹一下如何讓使用window.open()函式開啟的頁面能夠居中顯示。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> html,body{height:100%} #antzone{ width:300px; line-height:100px; background:#CCC; font-size:12px; text-align:center; margin:0px auto; } </style> <script type="text/javascript"> var openWindow = function(url, options){ var str = ""; if (options) { options.height = options.height || 420; options.width = options.width || 550; //預設為居中 options.left = options.left || ((screen.width - options.width) / 2); //預設為居中 options.top = options.top || ((screen.height - options.height) / 2); for (var prop in options) { str += ',' + prop + '=' + options[prop]; } str = str.substr(1); }; window.open(url, 'connect_window_'+ (+new Date), str); str = null; }; window.onload=function(){ document.body.onclick = function(){ openWindow("http://www.softwhy.com/",{ width:888 }); } } </script> </head> <body> <div id="antzone">softwhy.com</div> </body> </html>
特別說明:window.open()函式彈出的網頁已經被當前瀏覽器普遍攔截,但是可以通過事件的方式彈出網頁,所以上面的程式碼有點流氓,因為瀏覽器者總會有意無意的點選頁面,最終也能夠彈出視窗。下面介紹一下它的實現過程。
一.程式碼註釋:
1.var openWindow = function(url, options){},此函式實現彈出視窗居中效果,第一個引數是要開啟頁面的地址,第二個引數是一個物件,用來設定視窗的寬度和高度還有left和top值的。
2.var str = "",宣告一個變數並賦初值為空字串,用來存放彈出視窗的各種設定引數。3.if (options),判斷是否設定了第二個引數。
4.options.height = options.height || 420,如果有高度的設定就使用人為設定的,否則使用預設的。
5.options.width = options.width || 550,和上面同樣的道理。
6.options.left = options.left || ((screen.width - options.width) / 2),如果設定了left值就使用此值,否則設定彈出視窗水平居中。
7.options.top = options.top || ((screen.height - options.height) / 2),和上面同樣的道理。
8.for (var prop in options) {
str += ',' + prop + '=' + options[prop];
},遍歷options物件的每一個屬性,並使用逗號分隔,這裡注意了,在字串的開頭會有一個逗號。
9.str = str.substr(1),因為第一個逗號是無用的,所以要擷取一下。
10.window.open(url, 'connect_window_'+ (+new Date), str),開啟視窗。
11.str = null,清空字串。
二.相關閱讀:
1.screen.width可以參閱screen.width屬性一章節。
2.substr()函式可以參閱javascript substr()一章節。
相關文章
- Qt 讓彈出的視窗居中顯示QT
- jQuery實現的彈出垂直水平居中視窗效果程式碼例項jQuery
- Qt如何讓彈出的視窗居中顯示QT
- jQuery點選顯示彈出層例項程式碼jQuery
- js實現彈出灰色背景能夠拖動的視窗例項程式碼JS
- javascript自帶的彈出輸出視窗程式碼例項JavaScript
- js實現window.open()彈出視窗和父視窗之間相互操作JS
- 點選彈出水平垂直居中視窗程式碼例項
- qt視窗居中顯示QT
- 點選連結<a>彈出確認視窗程式碼例項
- 關閉瀏覽器視窗彈出提示程式碼例項瀏覽器
- 移動端點選彈出提示視窗程式碼例項
- 彈出視窗程式碼
- jQuery將div在視窗中垂直居中例項程式碼jQuery
- 調整視窗大小也能夠實現div水平垂直居中程式碼例項
- flex彈性佈局實現元素垂直居中效果程式碼例項Flex
- 關閉瀏覽器視窗彈出警告視窗程式碼例項瀏覽器
- Qt 設定視窗居中顯示QT
- Qt5:視窗居中顯示QT
- Qt視窗螢幕居中顯示QT
- css實現的彈出視窗始終垂直水平居中效果CSS
- jquery實現的彈出居中視窗效果jQuery
- js模擬實現alert()函式彈出警告視窗效果程式碼例項JS函式
- 可以限定拖動範圍的彈出視窗效果程式碼例項
- 點選實現顯示密碼效果程式碼例項密碼
- Qt中設定視窗居中顯示QT
- Java Swing應用程式GUI視窗居中顯示JavaGUI
- 右下角緩慢出現廣告視窗例項程式碼
- div始終在視窗中垂直水平居中程式碼例項
- js實現的點選彈出確認視窗程式碼JS
- VUE 實現 Studio 管理後臺(六):滑鼠懸停顯示彈出視窗Vue
- js實現關鍵詞高亮顯示程式碼例項JS
- 防止window.open()函式彈出視窗被攔截函式
- qt設定視窗在桌面居中顯示QT
- Qt視窗在螢幕上居中顯示QT
- 點選彈出帶有灰色背景使用者登入視窗程式碼例項
- Qt之彈出介面顯示在父視窗中間QT
- function模式設定ALV用彈出視窗顯示Function模式