Heim >Web-Frontend >js-Tutorial >Probleme mit Popup-Fenstern, die nicht in der Weebox zentriert sind

Probleme mit Popup-Fenstern, die nicht in der Weebox zentriert sind

亚连
亚连Original
2018-06-23 18:19:431894Durchsuche

In diesem Artikel wird hauptsächlich die Lösung für das Problem vorgestellt, dass das Weebox-Popup-Fenster nicht in der Mitte angezeigt wird. Es hat einen bestimmten Referenzwert.

Weebox-Popup Das Fenster wird auf einigen Seiten nicht in der Mitte angezeigt, auf einigen Seiten wird es jedoch in der Mitte angezeigt, und der Zentrierungsalgorithmus des Popup-Fensters ist ebenfalls in Ordnung.

1. Lösung

Aus verantwortungsvollem Umgang mit Ihnen muss ich Ihnen zunächst die entscheidende Lösung mitteilen.

Fügen Sie oben auf der Seite den folgenden Code hinzu:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Beachten Sie, dass es so sein muss:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ include file="/components/common/taglib.jsp"%>
<%@ include file="/components/common/jscsslib.jsp"%>

, aber nicht so:



<%@ 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">

2. Fehleranalyse

Die Zusammenfassung von jquery weebox führt in die grundlegende Verwendung von weebox ein. Aus dem Grund, warum das Weebox-Popup-Fenster nicht in der Mitte angezeigt wird, müssen wir zunächst prüfen, ob dies der Fall ist Der Zentrierungsalgorithmus setCenterPosition ist sinnvoll.

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});

}

hat festgestellt, dass der Algorithmus immer noch sehr gut ist, aber bitte achten Sie auf doc = $(document).
Ich habe Ihnen im vorherigen Artikel auch die Lösung für das Problem erklärt, dass die Weebox nicht in der Mitte angezeigt wird. Was ist also der Grund? Die

-Deklaration muss die erste Zeile des HTML-Dokuments vor dem Tag sein. Die
-Deklaration ist kein HTML-Tag; sie ist eine Anweisung an den Webbrowser, in welcher HTML-Version die Seite geschrieben werden soll.
In HTML 4.01 verweisen Deklarationen auf DTDs, da HTML 4.01 auf SGML basiert. Eine DTD legt die Regeln für eine Auszeichnungssprache fest, damit Browser Inhalte korrekt wiedergeben können.

Obwohl dieser Absatz die Beziehung zwischen Dokumenttyp und Fensterzentrierung nicht direkt angibt, kann aus der Lösung erraten werden, dass das Fenster berechnet wird, wenn die Breite und Höhe des Fensters nicht angegeben wird Es handelt sich nicht um einen Standardpixelwert, was indirekt dazu führt, dass die x- und y-Koordinaten des Popup-Fensters ungenau positioniert werden.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

So führen Sie JQuery in Vue-Cli-Webpack ein (ausführliches Tutorial)

So berechnen Sie zwei Zeiten mit JS Differenznummer

So laden Sie Bilder in js hoch und komprimieren sie (ausführliche Anleitung)

So verwenden Sie das WeChat-Applet zum Hochladen von Bildern

So schreiben Sie Formularkomponenten mit async-validator (ausführliches Tutorial)

Das obige ist der detaillierte Inhalt vonProbleme mit Popup-Fenstern, die nicht in der Weebox zentriert sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn