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.uploadify详解
Nov 15 Javascript
JQuery $.each遍历JavaScript数组对象实例
Sep 01 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
JavaScript调用客户端Java程序的方法
Jul 27 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
May 12 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
Sep 27 Javascript
javascript数据类型详解
Feb 07 Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 Javascript
捕获未处理的Promise错误方法
Oct 13 Javascript
vue2.x+webpack快速搭建前端项目框架详解
Nov 30 Javascript
原生JS实现的雪花飘落动画效果
May 03 Javascript
vue开发中遇到的问题总结
Apr 07 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数据库的代码
2011/01/06 PHP
php中apc缓存使用示例
2013/12/25 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
python中迭代器(iterator)用法实例分析
2015/04/29 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
求职简历自荐信范文
2013/10/21 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
商场消防安全责任书
2014/07/29 职场文书
民间借贷协议书范本
2014/10/01 职场文书
庆七一宣传标语
2014/10/08 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
礼貌问候语大全
2015/11/10 职场文书
python3中apply函数和lambda函数的使用详解
2022/02/28 Python