weebox弹出窗口不居中显示的解决方法
2017-11-27 17:12
686 查看
某些页面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坐标没有定位准确。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- xulrunner弹出窗口不显示解决方法
- FLex3中弹出窗口包含TabNavigator时标签页的标题可能显示不完全的问题及解决方法
- 高版本IE中弹出窗口不显示IE地址栏的解决方法
- FLex3中弹出窗口包含TabNavigator时标签页的标题可能显示不完全的问题及解决方法
- layer 弹出层不居中显示问题的解决方法
- Extjs TriggerField在弹出窗口显示不出问题的解决方法
- FLex3中弹出窗口包含TabNavigator时标签页的标题可能显示不完全的问题及解决方法
- Extjs TriggerField在弹出窗口显示不出问题的解决方法
- window.open弹出窗口居中显示
- 【转】AUTOCAD保存文件时不弹出“保存窗口”的解决方法
- 【网页打印】网页打印时内容没有居中显示解决方法
- 关于对话框最小化到托盘后,点击托盘图标后只在任务栏显示而无法还原窗口的解决方法。
- 无焦点显示窗口解决方法
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
- IE8按F12不显示开发人员工具窗口的解决方法
- 添加/删除程序空白窗口及控制面板窗口显示异常问题的解决方法
- presentViewController显示方式的窗口,没有导航栏的解决方法
- 让js弹出窗口居前显示的实现方法
- Android的Service中弹出窗口解决方法
- 居中显示弹出窗口(兼容IE和Chrome)