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 相关文章推荐
基于JQuery的动态删除Table表格的行和列的代码
May 12 Javascript
点评js异步加载的4种方式
Dec 22 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
JS组件系列之JS组件封装过程详解
Apr 28 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
Jun 26 Javascript
微信小程序模板template简单用法示例
Dec 04 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
vue-cli3+typescript新建一个项目的思路分析
Aug 06 Javascript
Vue element-ui父组件控制子组件的表单校验操作
Jul 17 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
Nov 11 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
php生成随机颜色方法汇总
2014/12/03 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
php猜单词游戏
2015/09/29 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
斜45度寻路实现函数
2009/08/20 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
js实现拖拽效果
2015/02/12 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
python进程管理工具supervisor使用实例
2014/09/17 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
介绍一下gcc特性
2015/10/31 面试题
大学生村官事迹材料
2014/01/21 职场文书
十八大感想感言
2014/02/10 职场文书
网络管理员岗位职责
2014/03/17 职场文书
新年爱情寄语
2014/04/08 职场文书
停车位租赁协议书
2014/09/24 职场文书
西柏坡导游词
2015/02/05 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
高二英语教学反思
2016/03/03 职场文书