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 相关文章推荐
js 优化次数过多的循环 考虑到性能问题
Mar 05 Javascript
js获取电脑分辨率的思路及操作
Nov 22 Javascript
js实现简单的联动菜单效果
Aug 19 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
Jun 20 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
JS实现图片垂直居中显示小结
Dec 13 Javascript
js querySelector() 使用方法
Dec 21 Javascript
vue-cli + sass 的正确打开方式图文详解
Oct 27 Javascript
基于Vue 撸一个指令实现拖拽功能
Oct 09 Javascript
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
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
javascript JSON操作入门实例
2010/04/16 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
加热夹克:RAVEAN
2018/10/19 全球购物
软件测试面试题
2015/10/21 面试题
乡镇组织委员个人整改措施
2014/09/16 职场文书
监考失职检讨书
2015/01/26 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
快速学习Oracle触发器和游标
2021/06/30 Oracle
Oracle 触发器trigger使用案例
2022/02/24 Oracle
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis