首页 > 编程 > JavaScript > 正文

js+html5生成自动排列对话框实例

2019-11-19 15:12:58
字体:
来源:转载
供稿:网友

最近用js和html5写出的弹出多个对话框,并且可以自动排列,占满屏幕时会自动从新开始,话不多说直接上图:
用起来还是十分方便的,如果你感兴趣,代码在后面

首先是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;    //根据已有dialog计算下一个dialog位置   var obj=document.getElementsByClassName("dialog");   //5和10为间距   var top=5;   var left=10;    if(obj.length!=0){     //不是第一次生成     var h=parseInt(hei/(274+5));//求出总行数     var w=parseInt(wid/(300+10));//求出总列数     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));   } } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表