Jquery onclick.toggle und css display none funktionieren nicht zusammen. Suche Lösung.
Ich habe wie unten dargestellt folgenden Code bei mir auf der Seite.
Das Problem ist wenn ich die Divbox #map per CSS auf "style=display: none;" stelle wird sie mir wie gewünscht nicht angezeigt, aber nach dem betätigen des Schalters, wird der inhalt des iframes nicht vollständig geladen.
Was muss ich zusätzlich noch eintragen damit die Karte richtig geladen wird?
Danke im Vorraus,
Martin
Das Funktioniert: (aber die Karte soll beim Laden der Seite erstmal versteckt sein)
Das funktioniert nicht mehr: (Bild der Karte wird nicht geladen)
Das Problem ist wenn ich die Divbox #map per CSS auf "style=display: none;" stelle wird sie mir wie gewünscht nicht angezeigt, aber nach dem betätigen des Schalters, wird der inhalt des iframes nicht vollständig geladen.
Was muss ich zusätzlich noch eintragen damit die Karte richtig geladen wird?
Danke im Vorraus,
Martin
Das Funktioniert: (aber die Karte soll beim Laden der Seite erstmal versteckt sein)
<p>
<input type="button" value="Karte Zeigen/Verstecken" onclick="$('#map').toggle('slow')" />
</p>
<div id="map">
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openstreetmap.org/export/embed.html?bbox=11.58243,50.92398,11.59812,50.93499&layer=mapnik&marker=50.92955,11.58967" style="border: 1px solid black">
</iframe>
<br />
<small>
<a href="http://www.openstreetmap.org/?lat=50.929472&lon=11.5897625&zoom=17&layers=M&mlat=50.92944&mlon=11.58976">Größere Karte anzeigen</a>
</small>
</div>
Das funktioniert nicht mehr: (Bild der Karte wird nicht geladen)
<p>
<input type="button" value="Karte Zeigen/Verstecken" onclick="$('#map').toggle('slow')" />
</p>
<div id="map" style="display: none;">
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openstreetmap.org/export/embed.html?bbox=11.58243,50.92398,11.59812,50.93499&layer=mapnik&marker=50.92955,11.58967" style="border: 1px solid black">
</iframe>
<br />
<small>
<a href="http://www.openstreetmap.org/?lat=50.929472&lon=11.5897625&zoom=17&layers=M&mlat=50.92944&mlon=11.58976">Größere Karte anzeigen</a>
</small>
</div>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 179084
Url: https://administrator.de/contentid/179084
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
6 Kommentare
Neuester Kommentar
Morgen,
das 'anzeigen verstecken' ist nur eine 'Anzeige Sache' und wird vom Browser und seinem Cache geregelt. Ich würde an deiner stelle lieber das IFRAME ganz löschen und wieder einfügen. Das ist mit JQuery auch fix umgesetzt.
EDIT: es gibt natürlich immer die Möglichkeit auf dem IFRAME ein reload() durchzuführen.
das 'anzeigen verstecken' ist nur eine 'Anzeige Sache' und wird vom Browser und seinem Cache geregelt. Ich würde an deiner stelle lieber das IFRAME ganz löschen und wieder einfügen. Das ist mit JQuery auch fix umgesetzt.
EDIT: es gibt natürlich immer die Möglichkeit auf dem IFRAME ein reload() durchzuführen.
immernoch net schlauer warum display none das laden verhindert.
Wenn Du dem Browser sagst, er soll ein IFrame (was ja eine andere Webseite ist) nicht anzeigen soll - warum sollte er sich die mühe machen diese in den Cache zu laden.Man könnte das auch als Schutz sehen, denn wenn Du ein IFrame mit bösem Javascript unsichtbar für den Benutzer lädst (bzw. unsichtbar für den Webseiten Betreiber - ich sag nur 'Injections'), könnte man alle Eingaben auf der Webseite mitloggen.
Was ist mit dem JS Beispiel - funktioniert das nicht ?