weebox弹出窗口不居中显示的解决方法


Posted in Javascript onNovember 27, 2017

某些页面weebox弹出窗口不居中显示,某些页面又居中显示,弹出窗口的居中算法也OK,这是为什么呢?

一、解决办法

作为对你负责的态度,必须先告知你决绝办法。

在页面顶端加入以下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

注意必须是这样的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ include file="/components/common/taglib.jsp"%>
<%@ include file="/components/common/jscsslib.jsp"%>

<head>

而不能是这样的

<html xmlns="http://www.w3.org/1999/xhtml">

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ include file="/components/common/taglib.jsp"%>
<%@ include file="/components/common/jscsslib.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>

二、错误分析

jquery weebox总结中介绍了weebox的基本使用方法,那么对于weebox弹出框不居中显示的原因,首先我们必须来先看看其setCenterPosition居中算法是否合理。

this.setCenterPosition = function() {
 var wnd = $(window), doc = $(document),
  pTop = doc.scrollTop(), pLeft = doc.scrollLeft(),
  minTop = pTop; 

 pTop += (wnd.height() - self.dh.height()) / 2;
 pTop = Math.max(pTop, minTop);
 pLeft += (wnd.width() - self.dh.width()) / 2;
 self.dh.css({top: pTop, left: pLeft});

}

发现算法还是非常ok的,不过请注意doc = $(document)。
前文我也告诉你了weebox不居中显示的解决办法,那么究竟原因关联在哪里呢?

声明必须是 HTML 文档的第一行,位于 标签之前。
声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
在 HTML 4.01 中, 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

虽然这段话也并不能直接表明doctype和窗口居中之间的关系,但从解决办法中可以猜测到,如果不指定 ,那么窗口在计算document的宽高时就不是标准的像素值,这就间接的导致弹出窗口的x、y坐标没有定位准确。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 克隆数组最简单的方法
Feb 12 Javascript
JS 分号引起的一段调试问题
Jun 18 Javascript
input 输入框内的输入事件详细分析
Mar 17 Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
JavaScript基于ajax编辑信息用法实例
Jul 15 Javascript
webpack构建react多页面应用详解
Sep 15 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
vue mounted组件的使用
Jun 18 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
Feb 18 Javascript
js+canvas实现画板功能
Sep 13 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 Javascript
Dropify.js图片宽高自适应的方法
Nov 27 #Javascript
jfinal与bootstrap的登出实战详解
Nov 27 #Javascript
JQuery 又谈ajax局部刷新
Nov 27 #jQuery
Bootstrap实现翻页效果
Nov 27 #Javascript
jQuery Datatables表头不对齐的解决办法
Nov 27 #jQuery
JS使用贪心算法解决找零问题示例
Nov 27 #Javascript
Vue.js实现分页查询功能
Nov 15 #Javascript
You might like
php学习笔记之 函数声明
2011/06/09 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
JS 实现Json查询的方法实例
2013/04/12 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
一个JavaScript防止表单重复提交的实例
2014/10/21 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
vue.js实现三级菜单效果
2019/10/19 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
Python类的多重继承问题深入分析
2014/11/09 Python
Python输出9*9乘法表的方法
2015/05/25 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
Python饼状图的绘制实例
2019/01/15 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
医院后勤自我鉴定
2013/10/13 职场文书
安全资金保障制度
2014/01/23 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
毕业大学生自荐信
2014/06/17 职场文书
数学教师求职信范文
2015/03/20 职场文书
初中政治教学工作总结
2015/08/13 职场文书