weebox弹出窗口不居中显示的解决方法
某些页面weebox弹出窗口不居中显示,某些页面又居中显示,弹出窗口的居中算法也OK,这是为什么呢?
一、解决办法
作为对你负责的态度,必须先告知你决绝办法。
在页面顶端加入以下代码:
注意必须是这样的
<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%> <%@includefile="/components/common/taglib.jsp"%> <%@includefile="/components/common/jscsslib.jsp"%>
而不能是这样的
<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%> <%@includefile="/components/common/taglib.jsp"%> <%@includefile="/components/common/jscsslib.jsp"%>
二、错误分析
jqueryweebox总结中介绍了weebox的基本使用方法,那么对于weebox弹出框不居中显示的原因,首先我们必须来先看看其setCenterPosition居中算法是否合理。
this.setCenterPosition=function(){ varwnd=$(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版本进行编写的指令。
在HTML4.01中,声明引用DTD,因为HTML4.01基于SGML。DTD规定了标记语言的规则,这样浏览器才能正确地呈现内容。
虽然这段话也并不能直接表明doctype和窗口居中之间的关系,但从解决办法中可以猜测到,如果不指定,那么窗口在计算document的宽高时就不是标准的像素值,这就间接的导致弹出窗口的x、y坐标没有定位准确。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。