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 相关文章推荐
javascript实现按回车键切换焦点
Feb 09 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 Javascript
jquery淡入淡出效果简单实例
Jan 14 Javascript
前端框架Vue.js中Directive知识详解
Sep 12 Javascript
Javascript中 toFixed四舍六入方法
Aug 21 Javascript
vue脚手架搭建过程图解
Jun 06 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
Vue安装浏览器开发工具的步骤详解
May 12 Javascript
Vue3.0中的monorepo管理模式的实现
Oct 14 Javascript
js实现拖动缓动效果
Jan 13 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实现mysql数据库备份类
2008/03/20 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
python虚拟环境的安装配置图文教程
2017/10/20 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
pybind11在Windows下的使用教程
2019/07/04 Python
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
《我不是最弱小的》教学反思
2014/02/23 职场文书
团购业务员岗位职责
2014/03/15 职场文书
大班开学家长寄语
2014/04/04 职场文书
公司活动总结怎么写
2014/06/25 职场文书
2014年青年教师工作总结
2014/12/17 职场文书
党内外群众意见范文
2015/06/02 职场文书