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 相关文章推荐
斜45度寻路实现函数
Aug 20 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
Jun 21 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
JS刷新父窗口的几种方式小结(推荐)
Nov 09 Javascript
bootstrap网格系统使用方法解析
Jan 13 Javascript
基于es6三点运算符的使用方法(实例讲解)
Oct 12 Javascript
jQuery Dom元素操作技巧
Feb 04 jQuery
Vue 创建组件的两种方法小结(必看)
Feb 23 Javascript
微信小程序解除10个请求并发限制
Dec 18 Javascript
关于AOP在JS中的实现与应用详解
May 06 Javascript
Webpack按需加载打包chunk命名的方法
Sep 22 Javascript
详解vue-router的导航钩子(导航守卫)
Nov 02 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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
php printf输出格式使用说明
2010/12/05 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
动态控制Table的js代码
2007/03/07 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
Python网络爬虫实例讲解
2016/04/28 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python 实现多线程下载视频的代码
2019/11/15 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
大学生的自我鉴定范文
2014/01/21 职场文书
少先队工作总结2015
2015/05/13 职场文书
公司开业致辞
2015/07/29 职场文书
学校教师培训工作总结
2015/10/14 职场文书
终止合同协议书范本
2016/03/22 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书