Heim Web-Frontend CSS-Tutorial Ausführliche Erläuterung der Iframe-Erstellung eines dreistufigen kaskadierenden Menüs

Ausführliche Erläuterung der Iframe-Erstellung eines dreistufigen kaskadierenden Menüs

May 11, 2017 am 11:31 AM

Origin
Die Aufgabe wurde ursprünglich neuen Kollegen zugewiesen, aber da die neuen Kollegen nur langsam loslegten und die Funktionen schnell online gestellt werden mussten, blieb ihnen keine andere Wahl, als es zu tun mach es selbst.

Aufgabe: Passen Sie das ursprüngliche Menü, das nur eine Ebenenspalte enthält, an ein Menü an, das dreistufige Kaskadierung unterstützt.

Implementierung: Mauszeiger bewegen. Wann Das Menü der ersten Ebene befindet sich im Menü der ersten Ebene. Wenn die Maus über ein bestimmtes Menü der zweiten Ebene bewegt wird, wird das Dropdown-Menü der dritten Ebene angezeigt -down-Menü wird angezeigt. Der Legacy-Code lautet wie folgt:

<p id="main">
    <iframe src=&#39;navbar.do&#39; width=800 height=40></iframe>
    <iframe src=&#39;main_content.do&#39;></iframe>
</p>
Nach dem Login kopieren
Es sind Probleme aufgetreten:

Die ursprüngliche Funktion verwendet iframe, um den <🎜 zu laden >Navigationsleiste

bzw. Inhaltsbereich der Seite An der Implementierung ist nichts auszusetzen (häufige Verwendung von iframe ist wirklich keine Best Practice), aber die neu hinzugefügten Spalten der zweiten und dritten Ebene zerstören die ursprüngliche Seitenstruktur . Da die Navigationsleiste eine feste Höhe hat, führt das Hinzufügen des Dropdown-Menüs und die feste Höhe dazu, dass der Inhalt des Dropdown-Menüs durch den Iframe blockiert wird, der ihn enthält.

Ausführliche Erläuterung der Iframe-Erstellung eines dreistufigen kaskadierenden MenüsRendering: Die rote Linie ist die Trennlinie zwischen dem oberen und unteren Iframe

Die erste intuitive Lösung, die mir in den Sinn kommt, ist das Verschieben der Inhalt der Navigationsleiste aus dem iframe Creampie, platziert auf der Hauptseite

Das Problem wurde gelöst, und es gibt auch Gefühle, das heißt:

<p id="main">
    <p id="nav-bar"></p>
    <iframe src=&#39;main_content.do&#39;></iframe>
</p>
Nach dem Login kopieren

Wir Es mangelt nicht an Programmierern, was uns fehlt, sind Designer, jedes Design ohne Nachdenken ist ein Betrug

Denken Sie noch einmal darüber nach

Zurück zu diesem Problem: Denken Sie über das ursprüngliche Design nach. Der Autor verwendet zwei Anforderungen, um die Navigationsleiste bzw. die Seite zu laden. Im Allgemeinen wird die Geschäftslogik des Inhaltsbereichs der Startseite bestimmt, sodass der Inhaltsbereich nicht mit einem sinnvollen IFrame implementiert werden muss Seitenlayout sollte wie folgt aussehen

Ergänzung
<p id="main">
    <p id="nav-bar"></p>
    <p id="content"></p>
</p>
Nach dem Login kopieren

Der Tester kam eilig vorbei und sagte besorgt, dass er wieder ein Problem gefunden habe Das Dropdown-Menü ist sichtbar, aber das im Inhalt angezeigte Video ist Teil des Dropdown-Menüs. Der Effekt ist wie folgt:

Ausführliche Erläuterung der Iframe-Erstellung eines dreistufigen kaskadierenden MenüsRendering

Nachdem das Video geladen wurde, wird der grüne Teil des Dropdown-Menüs vom Video verdeckt und nicht vollständig angezeigt.

beschreibt das tatsächliche Geschäftsszenario : Das Video ist ein gekaufter Drittanbieterdienst und das Einbettungs-Tag wird dynamisch generiert, indem das Drittanbieter-Skript dynamisch auf die Seite geladen wird, um das Video abzuspielen


Warum

Ist Ist es möglich, das Attribut z-index
auf das dynamisch generierte Einbettungselement zu setzen? Sehr enttäuscht, dass es nicht funktioniert hat. Was ist der Grund? Später habe ich den Wmode-Parameter des Flash-Rendering-Modus entdeckt, der hauptsächlich aus Effizienzüberlegungen besteht. Dies führt dazu, dass Flash im Standard-Anzeigemodus immer alle damit überlappenden HTML-Dateien abdeckt Lösen Sie diese Art von Problem, wenn sich Flash nicht über der HTML-Rendering-Oberfläche des Browsers befindet, sondern auf derselben Seite wie andere Elemente. Spezifische Informationen finden Sie hier.
Der nächste Schritt besteht darin, das vom Skript dynamisch generierte Einbettungselement zu finden und den Parameter wmode auf Opaque zu setzen:

Ist es in Ordnung!
var timer = setInterval(function(){
    var elem = document.getElementsByTagName("embed")[0];
    if( elem ){
        elem.setAttribute("wmode","opaque");
        clearInterval(timer);
    }
}, 100 );
Nach dem Login kopieren

Der Test hat ergeben, dass das Problem immer noch dasselbe ist. Warum funktioniert es nicht? wmode wird verwendet, um den Rendering-Modus von Flash festzulegen. Da das eingebettete Element in unserem Code dynamisch generiert wird, wird der Flash erneut gerendert, wenn wir das eingebettete Element finden und festlegen nicht Wenn es funktioniert, was soll ich tun?

Kontaktieren Sie den Hersteller, um das Problem zu lösen, und bitten Sie sein Skript, den Rendering-Modus beim Generieren von Einbettungselementen standardmäßig als undurchsichtig anzugeben. Die Aktualität sollte relativ langsam sein, und es ist nicht bekannt, ob Der Hersteller wird unsere Vorschläge übernehmen.
  • Können wir das Gleiche selbst tun, nachdem wir das Einbettungselement gefunden haben, und das vom Flash-Hersteller generierte Einbettungselement löschen? Element, fügen Sie unser geändertes Einbettungselement ein.
  • [Verwandte Empfehlungen]
1.

Kostenloses CSS-Online-Video-Tutorial

2. CSS-Online-Handbuch

3. php.cn Dugu Jiujian (2) - CSS-Video-Tutorial

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Iframe-Erstellung eines dreistufigen kaskadierenden Menüs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1668
14
PHP-Tutorial
1273
29
C#-Tutorial
1256
24
Wie schneide ich einen IFrame in HTML zu? Wie schneide ich einen IFrame in HTML zu? Aug 29, 2023 pm 04:33 PM

Inline-Frames werden in HTML als Iframes bezeichnet. Eine Beschriftung gibt einen rechteckigen Bereich innerhalb des Inhalts an, in dem der Browser verschiedene Dokumente mit Bildlaufleisten und Rändern anzeigen kann. Um ein anderes Dokument in das aktuelle HTML-Dokument einzubetten, verwenden Sie Inline-Frames. Mit dem HTMLiframe-Namensattribut kann ein Verweis auf ein Element angegeben werden. In JavaScript werden Verweise auf Elemente auch über das Namensattribut hergestellt. Ein Iframe wird im Wesentlichen verwendet, um eine Webseite innerhalb der aktuell angezeigten Webseite anzuzeigen. Die URL des Dokuments, das den Iframe enthält, wird über das Attribut „src“ angegeben. Syntax Das Folgende ist die Syntax von HTML <iframesrc="URL"title="d

Warum wird der Iframe langsam geladen? Warum wird der Iframe langsam geladen? Aug 24, 2023 pm 05:51 PM

Die Gründe für das langsame Laden von Iframes sind hauptsächlich Netzwerkverzögerung, lange Ressourcenladezeit, Ladereihenfolge, Caching-Mechanismus und Sicherheitsrichtlinien. Detaillierte Einführung: 1. Netzwerkverzögerung. Wenn der Browser eine Webseite mit einem Iframe lädt, muss er eine Anfrage an den Server senden, um den Inhalt im Iframe abzurufen 2. Wenn die Ladezeit der Ressource lang ist oder die Antwortzeit des Servers lang ist, ist die Ladegeschwindigkeit offensichtlich langsamer. usw.

Was bedeutet Daten-ID im Iframe? Was bedeutet Daten-ID im Iframe? Aug 28, 2023 pm 02:25 PM

Die Daten-ID in einem Iframe bezieht sich auf ein benutzerdefiniertes Attribut, das in HTML-Tags zum Speichern der Kennung eines bestimmten Elements verwendet wird. Mithilfe des data-id-Attributs können Sie dem iframe-Element eine eindeutige Kennung hinzufügen, sodass es in JavaScript bearbeitet und abgerufen werden kann. Die Benennung des data-id-Attributs kann entsprechend den spezifischen Anforderungen angepasst werden, es werden jedoch normalerweise einige Namenskonventionen befolgt, um seine Einzigartigkeit und Lesbarkeit sicherzustellen. Das data-id-Attribut kann auch verwendet werden, um einen bestimmten Iframe zu identifizieren und zu bearbeiten.

Welche Technologie kann Iframe ersetzen? Welche Technologie kann Iframe ersetzen? Aug 24, 2023 pm 01:53 PM

Zu den Technologien, die Iframes ersetzen können, gehören Ajax, JavaScript-Bibliotheken oder -Frameworks, Webkomponententechnologien, Front-End-Routing und serverseitiges Rendering. Ausführliche Einführung: 1. Ajax ist eine Technologie zur Erstellung dynamischer Webseiten. Durch den Datenaustausch mit dem Server im Hintergrund kann eine asynchrone Aktualisierung der Seite erreicht werden, ohne dass die gesamte Seite aktualisiert werden muss. Mit Ajax können Inhalte flexibler geladen und angezeigt werden, und es ist nicht erforderlich, andere Seiten mit iFrame einzubetten oder Framework wie React usw.

Was sind die Ladeereignisse von iframe? Was sind die Ladeereignisse von iframe? Aug 28, 2023 pm 01:55 PM

Zu den Ladeereignissen von iframe gehören das Ereignis onload, das Ereignis onreadystatechange, das Ereignis onbeforeunload, das Ereignis onerror, das Ereignis onabort usw. Detaillierte Beschreibung: 1. onload-Ereignis, das den JavaScript-Code angibt, der nach dem Laden des Iframes ausgeführt werden soll. 2. onreadystatechange-Ereignis, das den JavaScript-Code angibt, der ausgeführt werden soll, wenn sich der Iframe-Status ändert usw.

Was ist die Gefahr in Iframes? Was ist die Gefahr in Iframes? Sep 08, 2023 pm 03:14 PM

Zu den Gefahren in Iframes zählen vor allem: 1. Schädliche Webseiten können andere Webseiten über Iframes laden und einige Angriffe ausführen. Durch das Laden von Webseiten unter anderen Domänennamen in Iframes Richtlinie kann verletzt werden, um eine domänenübergreifende Kommunikation zu erreichen, die böswillig angegriffen werden kann. In Iframes geladene Webseiten können JS-Code ausführen, was zu Sicherheitsproblemen führen kann Über Iframe usw. geladene Inhalte können nicht korrekt analysiert und indiziert werden.

Was bedeutet iframe in Python? Was bedeutet iframe in Python? Aug 25, 2023 pm 03:24 PM

iframe in Python ist ein HTML-Tag, das zum Einbetten einer anderen Webseite oder eines anderen Dokuments in eine Webseite verwendet wird. In Python können Sie verschiedene Bibliotheken und Frameworks zum Verarbeiten und Bearbeiten von Iframes verwenden. Die am häufigsten verwendete davon ist die BeautifulSoup-Bibliothek, mit der Sie den Inhalt eines Iframes problemlos aus einer Webseite extrahieren und bearbeiten und verarbeiten können. Zu wissen, wie man mit Iframes umgeht und sie manipuliert, ist sowohl für die Webentwicklung als auch für das Daten-Scraping äußerst nützlich.

Überwachen Sie das Scrollverhalten von Iframes Überwachen Sie das Scrollverhalten von Iframes Feb 18, 2024 pm 08:40 PM

Um das Scrollen eines Iframes zu überwachen, sind bestimmte Codebeispiele erforderlich. Wenn wir das Iframe-Tag verwenden, um andere Webseiten in eine Webseite einzubetten, müssen wir manchmal bestimmte Vorgänge für den Inhalt im Iframe ausführen. Eine der häufigsten Anforderungen besteht darin, auf das Scroll-Ereignis des Iframes zu warten, damit der entsprechende Code beim Scrollen ausgeführt werden kann. Im Folgenden wird die Verwendung von JavaScript zum Überwachen des Scrollens eines Iframes vorgestellt und spezifische Codebeispiele als Referenz bereitgestellt. Holen Sie sich zuerst das iframe-Element

See all articles