js+html5生成自動排列對話框?qū)嵗?/h1>
更新時(shí)間:2017年10月09日 11:48:56 作者:GISuuser
這篇文章主要介紹了js+html5生成自動排列對話框?qū)嵗瑥棾龆鄠€(gè)對話框,可以自動排列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
最近用js和html5寫出的彈出多個(gè)對話框,并且可以自動排列,占滿屏幕時(shí)會自動從新開始,話不多說直接上圖:
用起來還是十分方便的,如果你感興趣,代碼在后面

首先是Html頁面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body style="width: 100vw;height: 100vh;padding: 0;margin: 0">
<input type="button" value="生成div" onclick="creatDialog()" style="position: absolute;z-index: 200;"/>
<script src="index.js"></script>
</body>
</html>
然后是js
function creatDialog() {
// 獲取屏幕的寬度和高度
var wid=document.body.clientWidth;
var hei=document.body.clientHeight;
//根據(jù)已有dialog計(jì)算下一個(gè)dialog位置
var obj=document.getElementsByClassName("dialog");
//5和10為間距
var top=5;
var left=10;
if(obj.length!=0){
//不是第一次生成
var h=parseInt(hei/(274+5));//求出總行數(shù)
var w=parseInt(wid/(300+10));//求出總列數(shù)
var n=parseInt(obj.length/h);//位于第n+1列
if(n+1<=w){
var m=obj.length%h//位于第m+1行
top=(274+5)*m+5;
left=(300+10)*n+10;
}else {
//屏幕滿了移除所有對象,從新開始
removeDialog();
top=5;
left=10;
}
}
//生成dialog
var dialog=document.createElement('div');
dialog.className="dialog";
dialog.id="dialog"+obj.length;
dialog.style.position="absolute";
dialog.style.marginLeft=left+"px";
dialog.style.marginTop=top+"px";
dialog.style.width="300px";
dialog.style.height="274px";
dialog.style.border="solid 1px";
dialog.style.backgroundColor="#FF0000";
document.body.appendChild(dialog);
}
function removeDialog() {
var obj=document.getElementsByClassName("dialog");
var num=obj.length;
for(var i=0;i<num;i++){
document.body.removeChild(document.getElementById("dialog"+i));
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 九種js彈出對話框的方法總結(jié)
- JavaScript彈出對話框的三種方式
- ExtJS Ext.MessageBox.alert()彈出對話框詳解
- javascript window.confirm確認(rèn) 取消對話框?qū)崿F(xiàn)代碼小結(jié)
- JavaScript寫的一個(gè)自定義彈出式對話框代碼
- Extjs Ext.MessageBox.confirm 確認(rèn)對話框詳解
- js彈出確認(rèn)是否刪除對話框
- javascript showModalDialog模態(tài)對話框使用說明
- javascript 選擇文件夾對話框(web)
- 利用javascript打開模態(tài)對話框(示例代碼)
相關(guān)文章
-
詳解CocosCreator系統(tǒng)事件是怎么產(chǎn)生及觸發(fā)的
這篇文章主要介紹了CocosCreator系統(tǒng)事件是怎么產(chǎn)生及觸發(fā)的,雖然內(nèi)容不少,但是只要一點(diǎn)點(diǎn)抽絲剝繭,具體分析其內(nèi)容,就會豁然開朗 2021-04-04
-
瀏覽器視頻幀操作方法?requestVideoFrameCallback()
這篇文章主要介紹了瀏覽器視頻幀操作方法?requestVideoFrameCallback(),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下 2022-07-07
-
json前后端數(shù)據(jù)交互相關(guān)代碼
本篇文章給大家分享了關(guān)于json前后端數(shù)據(jù)交互方法實(shí)現(xiàn)的相關(guān)知識點(diǎn)內(nèi)容,有興趣的讀者們可以參考學(xué)習(xí)下。 2018-09-09
-
JavaScript中異步與回調(diào)的基本概念及回調(diào)地獄現(xiàn)象
這篇文章主要介紹了JavaScript中異步與回調(diào)的基本概念,以及回調(diào)地獄現(xiàn)象,本文主要介紹了異步和回調(diào)的基本概念,二者是JavaScript的核心內(nèi)容,需要所有熱愛JS的小伙伴深入了解,需要的朋友可以參考下 2022-07-07
-
學(xué)習(xí)JavaScript設(shè)計(jì)模式(策略模式)
這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript設(shè)計(jì)模式,其中重點(diǎn)介紹策略模式,以年終獎(jiǎng)為實(shí)例對策略模式進(jìn)行分析,對策略模式進(jìn)行詳細(xì)剖析,感興趣的小伙伴們可以參考一下 2015-11-11
-
JavaScript簡單表格編輯功能實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript簡單表格編輯功能實(shí)現(xiàn)方法,涉及javascript操作表格的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下 2015-04-04
-
js觸發(fā)asp.net的Button的Onclick事件應(yīng)用
由于asp.net采用的是事件驅(qū)動模式,所以默認(rèn)用戶按回車并沒有觸發(fā)按鈕的onclick事件。用戶按回車也不是沒有提交表單,通過httpwath可以看到,實(shí)際上頁面表單是提交到了form下的action頁面,只不過沒有觸發(fā)onclick事件而已,感興趣的朋友可以了解下,或許對你有所幫助 2013-02-02
最新評論
最近用js和html5寫出的彈出多個(gè)對話框,并且可以自動排列,占滿屏幕時(shí)會自動從新開始,話不多說直接上圖:
用起來還是十分方便的,如果你感興趣,代碼在后面

首先是Html頁面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body style="width: 100vw;height: 100vh;padding: 0;margin: 0"> <input type="button" value="生成div" onclick="creatDialog()" style="position: absolute;z-index: 200;"/> <script src="index.js"></script> </body> </html>
然后是js
function creatDialog() {
// 獲取屏幕的寬度和高度
var wid=document.body.clientWidth;
var hei=document.body.clientHeight;
//根據(jù)已有dialog計(jì)算下一個(gè)dialog位置
var obj=document.getElementsByClassName("dialog");
//5和10為間距
var top=5;
var left=10;
if(obj.length!=0){
//不是第一次生成
var h=parseInt(hei/(274+5));//求出總行數(shù)
var w=parseInt(wid/(300+10));//求出總列數(shù)
var n=parseInt(obj.length/h);//位于第n+1列
if(n+1<=w){
var m=obj.length%h//位于第m+1行
top=(274+5)*m+5;
left=(300+10)*n+10;
}else {
//屏幕滿了移除所有對象,從新開始
removeDialog();
top=5;
left=10;
}
}
//生成dialog
var dialog=document.createElement('div');
dialog.className="dialog";
dialog.id="dialog"+obj.length;
dialog.style.position="absolute";
dialog.style.marginLeft=left+"px";
dialog.style.marginTop=top+"px";
dialog.style.width="300px";
dialog.style.height="274px";
dialog.style.border="solid 1px";
dialog.style.backgroundColor="#FF0000";
document.body.appendChild(dialog);
}
function removeDialog() {
var obj=document.getElementsByClassName("dialog");
var num=obj.length;
for(var i=0;i<num;i++){
document.body.removeChild(document.getElementById("dialog"+i));
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 九種js彈出對話框的方法總結(jié)
- JavaScript彈出對話框的三種方式
- ExtJS Ext.MessageBox.alert()彈出對話框詳解
- javascript window.confirm確認(rèn) 取消對話框?qū)崿F(xiàn)代碼小結(jié)
- JavaScript寫的一個(gè)自定義彈出式對話框代碼
- Extjs Ext.MessageBox.confirm 確認(rèn)對話框詳解
- js彈出確認(rèn)是否刪除對話框
- javascript showModalDialog模態(tài)對話框使用說明
- javascript 選擇文件夾對話框(web)
- 利用javascript打開模態(tài)對話框(示例代碼)
相關(guān)文章
詳解CocosCreator系統(tǒng)事件是怎么產(chǎn)生及觸發(fā)的
這篇文章主要介紹了CocosCreator系統(tǒng)事件是怎么產(chǎn)生及觸發(fā)的,雖然內(nèi)容不少,但是只要一點(diǎn)點(diǎn)抽絲剝繭,具體分析其內(nèi)容,就會豁然開朗2021-04-04
瀏覽器視頻幀操作方法?requestVideoFrameCallback()
這篇文章主要介紹了瀏覽器視頻幀操作方法?requestVideoFrameCallback(),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
json前后端數(shù)據(jù)交互相關(guān)代碼
本篇文章給大家分享了關(guān)于json前后端數(shù)據(jù)交互方法實(shí)現(xiàn)的相關(guān)知識點(diǎn)內(nèi)容,有興趣的讀者們可以參考學(xué)習(xí)下。2018-09-09
JavaScript中異步與回調(diào)的基本概念及回調(diào)地獄現(xiàn)象
這篇文章主要介紹了JavaScript中異步與回調(diào)的基本概念,以及回調(diào)地獄現(xiàn)象,本文主要介紹了異步和回調(diào)的基本概念,二者是JavaScript的核心內(nèi)容,需要所有熱愛JS的小伙伴深入了解,需要的朋友可以參考下2022-07-07
學(xué)習(xí)JavaScript設(shè)計(jì)模式(策略模式)
這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript設(shè)計(jì)模式,其中重點(diǎn)介紹策略模式,以年終獎(jiǎng)為實(shí)例對策略模式進(jìn)行分析,對策略模式進(jìn)行詳細(xì)剖析,感興趣的小伙伴們可以參考一下2015-11-11
JavaScript簡單表格編輯功能實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript簡單表格編輯功能實(shí)現(xiàn)方法,涉及javascript操作表格的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
js觸發(fā)asp.net的Button的Onclick事件應(yīng)用
由于asp.net采用的是事件驅(qū)動模式,所以默認(rèn)用戶按回車并沒有觸發(fā)按鈕的onclick事件。用戶按回車也不是沒有提交表單,通過httpwath可以看到,實(shí)際上頁面表單是提交到了form下的action頁面,只不過沒有觸發(fā)onclick事件而已,感興趣的朋友可以了解下,或許對你有所幫助2013-02-02

