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 文件夹选择框的两种解决方案
Jul 01 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
Jul 20 Javascript
JQuery弹出层示例可自定义
May 19 Javascript
基于jquery animate操作css样式属性小结
Nov 27 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
微信小程序 navigation API实例详解
Oct 02 Javascript
谈谈因Vue.js引发关于getter和setter的思考
Dec 02 Javascript
js使用i18n实现页面国际化的方法
May 09 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
Element Dialog对话框的使用示例
Jul 26 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木马攻击防御之道
2008/03/24 PHP
php随机抽奖实例分析
2015/03/04 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
2020/09/13 PHP
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
python逐行读取文件内容的三种方法
2014/01/20 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
建筑工程技术应届生自荐信
2013/09/27 职场文书
列车长先进事迹材料
2014/01/25 职场文书
导游实习生自荐书
2014/01/28 职场文书
怎样填写就业意向
2014/04/02 职场文书
教师个人成长总结
2015/02/11 职场文书
教师个人教学总结
2015/02/11 职场文书
寒假生活随笔
2015/08/15 职场文书
2016年公司新年寄语
2015/08/17 职场文书
如何撰写创业策划书
2019/06/27 职场文书
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技