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 14 Javascript
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
Jan 12 Javascript
Angularjs cookie 操作实例详解
Sep 27 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
Nov 25 Javascript
Vue结合后台导入导出Excel问题详解
Feb 19 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
May 18 Javascript
egg.js的基本使用和调用数据库的方法示例
May 18 Javascript
详解vue 在移动端体验上的优化解决方案
May 20 Javascript
uni-app微信小程序登录授权的实现
May 22 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中foreach()用法汇总
2015/07/02 PHP
Symfony的安装和配置方法
2016/03/17 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
Prototype源码浅析 Number部分
2012/01/16 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Python 变量的创建过程详解
2019/09/02 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
Python通过format函数格式化显示值
2020/10/17 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
请说出几个常用的异常类
2013/01/08 面试题
文秘专业大学生求职信
2013/11/10 职场文书
店面销售职位的职责
2014/03/09 职场文书
男女朋友协议书
2014/04/23 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
欢迎词怎么写
2015/01/23 职场文书
品质保证书格式
2015/02/28 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书