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


Posted in Javascript onOctober 09, 2017

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

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)); 
  } 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
toString()一个会自动调用的方法
Feb 08 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
Mar 09 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
Apr 20 Javascript
js实现简单登录功能的实例代码
Nov 09 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
Sep 04 Javascript
基于javascript实现checkbox复选框实例代码
Jan 28 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
Apr 25 Javascript
Vue实现购物车功能
Apr 27 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 Javascript
javaScript字符串工具类StringUtils详解
Dec 08 Javascript
jQuery层叠选择器用法实例分析
Jun 28 jQuery
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 #jQuery
详解如何让Express支持async/await
Oct 09 #Javascript
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 #jQuery
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 #Javascript
基于zepto.js实现登录界面
Oct 09 #Javascript
浅谈在koa2中实现页面渲染的全局数据
Oct 09 #Javascript
jQuery实现html双向绑定功能示例
Oct 09 #jQuery
You might like
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
Python break语句详解
2014/03/11 Python
python实现保存网页到本地示例
2014/03/16 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
python中requests小技巧
2017/05/10 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
项目经理的岗位职责
2013/11/23 职场文书
计算机专业毕业生自我鉴定
2014/01/16 职场文书
电台实习生求职信
2014/02/25 职场文书
《泉水》教学反思
2014/04/11 职场文书
三八节标语
2014/06/27 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript