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代码
Sep 17 Javascript
JQuery筛选器全系列介绍
Aug 27 Javascript
require.js深入了解 require.js特性介绍
Sep 04 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
Dec 08 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
May 05 Javascript
vue2.0全局组件之pdf详解
Jun 26 Javascript
Javascript 一些需要注意的细节(必看篇)
Jul 08 Javascript
vue2.0 资源文件assets和static的区别详解
Apr 08 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
Vue插槽原理与用法详解
Mar 05 Javascript
node.JS二进制操作模块buffer对象使用方法详解
Feb 06 Javascript
echarts实现晶体球面投影的实例教程
Oct 10 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无限分类源码分享(思路不错)
2011/10/13 PHP
php使用google地图应用实例
2014/12/31 PHP
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
浅析vue数据绑定
2017/01/17 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python requests库用法实例详解
2018/08/14 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
python3爬虫中多线程进行解锁操作实例
2020/11/25 Python
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
小学校园之星事迹材料
2014/05/16 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
检讨书模板
2015/01/29 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
MySQL数据库事务的四大特性
2022/04/20 MySQL