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中获取选中对象的类型
Apr 02 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
Oct 08 Javascript
dotopAlert 提示用户需安装播放器的代码
Sep 17 Javascript
jquery动态增加删除表格行的小例子
Nov 14 Javascript
js动态修改整个页面样式达到换肤效果
May 23 Javascript
javascript实例分享---具有立体效果的图片特效
Jun 08 Javascript
JavaScript实现控制打开文件另存为对话框的方法
Apr 17 Javascript
jQuery实现动态添加tr到table的方法
Dec 26 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
bootstrap table服务端实现分页效果
Aug 10 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
基于vue+axios+lrz.js微信端图片压缩上传方法
Jun 25 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 ADODB使用方法集锦
2008/03/25 PHP
php socket方式提交的post详解
2008/07/19 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
javascript引用对象的方法代码
2007/08/13 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
vue-router的两种模式的区别
2019/05/30 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
Python交互式图形编程的实现
2019/07/25 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
Python类中self参数用法详解
2020/02/13 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
酒店led欢迎词
2014/01/09 职场文书
运动会通讯稿50字
2014/01/30 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
考试没考好检讨书
2015/05/06 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
Go语言基础知识点介绍
2021/07/04 Golang
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript