兼容web端和手机端的弹窗插件,(弹窗内可滑动,并可阻止下面的页面滑动)
2017-07-14 14:12
127 查看
前言
电脑端、手机端通用弹窗插件,原生js编写。允许弹窗内部滚动,同时,防止弹窗下面的页面滚动。一、js内容
popup: { isInit: false, isOpen: false, parseDom: function(str){ var div = document.createElement("div"); div.innerHTML = str; return div.childNodes; }, init: function(width, height){ var popHtml = "<div class='popup' style='width:100%;height:100%; z-index: 9999;-webkit-transition: all ease 700ms;" + "position: fixed;top:0;left: 0;background-color: rgba(0,0,0,0.8);display: none;'>"+ "<div class='middle' style='display: table-cell;vertical-align: middle;text-align: center;'>"+ "<div class='inner' style='display: inline-block;'>"+ "<div class='content' style='width:"+ width + ";height:" + height + ";background-color:white;word-break: break-all;-webkit-overflow-scrolling:touch;box-sizing:border-box;color: black;padding:20px;position:relative;'></div>"+ "</div>"+ "</div>"+ "</div>"; document.body.appendChild(this.parseDom(popHtml)[0]); this.isInit = true; }, /* width: 弹窗宽度 height:弹窗高度 contentHtml:弹窗内容 */ toast: function(width, height, contentHtml){ if(!this.isInit){ this.init(width, height); } this.isOpen = true; var content = document.querySelector(".popup .middle .inner .content"); content.innerHTML = contentHtml; document.querySelector(".popup").style.display = "table"; var viewPortWidth = document.documentElement.clientWidth; if(viewPortWidth > 600){ //web端,防止下部页面滑动 document.body.style.overflow = "hidden"; }else{ //手机端,防止下部页面滑动,其中,country_detail为页面最顶层的元素,包含除了弹窗以外的其他所有内容 document.querySelector(".country_detail").style.position = "fixed"; } }, close: function(){ this.isOpen = false; document.body.style.overflow = "scroll"; //允许web端弹窗下面页面滚动 document.querySelector(".country_detail").style.position = "relative"; //允许web端弹窗下面页面滚动 document.querySelector(".popup").style.display = "none"; }, }
二、使用方法
popup.toast("722px","424px",html); html为你要添加的页面片段, css方面,你在其中添加了什么,就对相应的内容添加样式文件,比如:html为<div class="center">ddd</div>, 则添加的样式为.popup .center{}
三、实际使用展示如下:
web端:手机端:
相关文章推荐
- Firefox 插件 JSview是一套比较实用的JS,CSS文件查看工具,很方便,很快捷地查看页面引用了哪些文件,作为Web前端开发者是一套必备的插件,由于Firefox升级过快,插件很快不兼容了,这里对插件做了一些调整,可以兼容最新Firefox浏览器(目前FireFox 21)
- jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
- 手机移动web页面的排版与布局一点经验(尺寸单位兼容行。)
- 手机端弹出层弹出后,下面禁止滑动
- web项目的WEB-INF/jsp文件下面的jsp页面引用webRoot文件夹下面的css,js等文件失败
- h5页面引用idangerous.swiper.js 插件兼容ios和android出现的问题
- 手机端页面左右滑动的解决方法
- Flexslider图片轮播、文字图片相结合滑动切换效果HTML 首先在页面head部位载入jquery库文件和Flexslider插件,以及Flexslider所需的基本css样式文件。
- QT使用插件QAxWidget来展示web页面
- android2.3平台上web页面(html5中使用frame)不能滑动、不允许缩放的解决方法
- 当fixed遇到ios,页面滑动遮不住下面内容时
- nagios插件之监控web页面登陆
- openfire 插件web 页面菜单栏定位
- 无法兼容i8一下的 在页面中加入下面一句话
- webAPP页面切换之滑动-swiper2(切换页面默认显示顶部)
- Mobiscroll的介绍【一款兼容PC和移动设备的滑动插件】
- JavaScript手机端页面滑动到底部加载信息(移动端ajax分页)
- web手机端如何定位(安卓版和ipone版),兼容移动端,定位准确
- web页面日期格式化插件
- css ios H5页面web页面 上下滑动卡顿问题解决方案