weebox彈出窗口不居中顯示的解決方法
某些頁(yè)面weebox彈出窗口不居中顯示,某些頁(yè)面又居中顯示,彈出窗口的居中算法也OK,這是為什么呢?
一、解決辦法
作為對(duì)你負(fù)責(zé)的態(tài)度,必須先告知你決絕辦法。
在頁(yè)面頂端加入以下代碼:
<!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>
二、錯(cuò)誤分析
jquery weebox總結(jié)中介紹了weebox的基本使用方法,那么對(duì)于weebox彈出框不居中顯示的原因,首先我們必須來(lái)先看看其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});
}
發(fā)現(xiàn)算法還是非常ok的,不過(guò)請(qǐng)注意doc = $(document)。
前文我也告訴你了weebox不居中顯示的解決辦法,那么究竟原因關(guān)聯(lián)在哪里呢?
聲明必須是 HTML 文檔的第一行,位于 標(biāo)簽之前。
聲明不是 HTML 標(biāo)簽;它是指示 web 瀏覽器關(guān)于頁(yè)面使用哪個(gè) HTML 版本進(jìn)行編寫的指令。
在 HTML 4.01 中, 聲明引用 DTD,因?yàn)?HTML 4.01 基于 SGML。DTD 規(guī)定了標(biāo)記語(yǔ)言的規(guī)則,這樣瀏覽器才能正確地呈現(xiàn)內(nèi)容。
雖然這段話也并不能直接表明doctype和窗口居中之間的關(guān)系,但從解決辦法中可以猜測(cè)到,如果不指定 ,那么窗口在計(jì)算document的寬高時(shí)就不是標(biāo)準(zhǔn)的像素值,這就間接的導(dǎo)致彈出窗口的x、y坐標(biāo)沒(méi)有定位準(zhǔn)確。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Bootstrap modal 多彈窗之疊加關(guān)閉陰影遮罩問(wèn)題的解決方法
- Bootstrap modal 多彈窗之疊加引起的滾動(dòng)條遮罩陰影問(wèn)題
- Bootstrap modal 多彈窗之疊加顯示不出彈窗問(wèn)題的解決方案
- BootStrap modal模態(tài)彈窗使用小結(jié)
- Bootstrap編寫一個(gè)在當(dāng)前網(wǎng)頁(yè)彈出可關(guān)閉的對(duì)話框 非彈窗
- BootStrap的彈出框(Popover)支持鼠標(biāo)移到彈出層上彈窗層不隱藏的原因及解決辦法
- bootstrap實(shí)現(xiàn)彈窗和拖動(dòng)效果
- 全面解析Bootstrap彈窗的實(shí)現(xiàn)方法
相關(guān)文章
JavaScript使用HTML5的window.postMessage實(shí)現(xiàn)跨域通信例子
這篇文章主要介紹了JavaScript使用HTML5的window.postMessage實(shí)現(xiàn)跨域通信例子,需要的朋友可以參考下2014-04-04
bootstrap 設(shè)置checkbox部分選中效果
本篇文章主要介紹了bootstrap 設(shè)置checkbox部分選中效果,主要涉及到j(luò)s各個(gè)方面的內(nèi)容,對(duì)于bootstrap設(shè)置checkbox選中效果感興趣的朋友可以參考一下吧2017-04-04
JavaScript中document.forms[0]與getElementByName區(qū)別
在很多情況下JavaScript中document.forms[0]與getElementByName這兩種用法沒(méi)有區(qū)別,這片文章詳細(xì)的解釋了兩者的區(qū)別和用法,有興趣的朋友可以參考一下。2015-01-01
js中scrollTop()方法和scroll()方法用法示例
這篇文章主要介紹了js中scrollTop()方法和scroll()方法用法,結(jié)合實(shí)例形式分析了scrollTop()方法和scroll()方法滾動(dòng)操作的用法與相關(guān)操作技巧,需要的朋友可以參考下2016-10-10
JS 實(shí)現(xiàn)Base64編碼與解碼實(shí)例詳解
這篇文章主要介紹了JS 實(shí)現(xiàn)Base64編碼與解碼實(shí)例詳解的相關(guān)資料,并附實(shí)例代碼,幫助大家學(xué)習(xí)理解此部分知識(shí),需要的朋友可以參考下2016-11-11

