fancyzoom.com wie gehts?



  • Kennt ihr den Effekt von fancyzoom.com? Meine frage ist nicht, wie ich sowas realisieren kann, sondern wie ich es mithilfe von JavaScript und CSS schaffen kann, dass sich ein Inline Fenster öffnet.
    Ich hab da auch schon eine Idee:
    1 Man macht ein neues Blockelement mit css. Das ist das Fenster, was sich öffnen soll. dann kommt display: none.
    2 so jetzt ist die frage wie man mit javascript aus diesem display:none ein display:block machen kann, wenn jmd auf einen Link klickt.
    Zum Beispiel (ich denke es müsste so aussehen)
    onclick = "GetElementById('Groesser').???style??? = "dislplay:none"
    geht das? oder kann man mit javascript nicht dynamisch css verändern?

    LittleGamer3



  • Hallo,

    document.getElementById(objectId).style.display = "none";
    


  • Vielen Dank. Genau das brauchte ich. Hab es jetzt so gelöst:

    <html>
    	<head>
    		<title>Test</title>
    		<script type="text/javascript">
    		function verbergen() {
    			document.getElementById("zoom").style.display = "none";
    		}
    		function zeigen() {
    			document.getElementById("zoom").style.display = "block";
    		}
    		</script>
    	</head>
    	<body onload="verbergen()">
    		<a href="#" onclick="zeigen()">Zeigen</a>
    		<a href="#" onclick="verbergen()">Verbergen</a>
    		<div id="zoom">
    			<p>Hier steht der Text</p>
    		</div>
    	</body>
    </html>
    

    Moderiert von árn[y]ék:
    HTML-Tag richtig gesetzt 😉



  • ist es besser <a href="java\1:zeigen()"> zu schreiben oder eher so wie oben?

    LittleGamer3



  • Hallo,

    das sollte in der Praxis keinen großen Unterschied (mehr) machen. Das einzige, was dir passieren könnte, wäre, dass Crawler, die mit JS nicht umgehen können, bei der letztgenantnen Methode versuchen, auf http://www.deinedomain.com/java\1:zeigen() zuzugreifen. Das erscheint - wenn überhaupt - aber nur in den Logs und stellt eigentlich kein Problem dar. Ich persönlich halte die onclick-Variante für "sauberer".

    Aber ein Hinweis am Rande: body.onload wird genau dann ausgeführt, wenn die Webseite vollständig geladen wurde, keine Sekunde vorher. Dein <div> wird also beim Laden angezeigt und erst wenn der Ladevorgang beendet ist, wird sie ausgeblendet. Besser wäre es, sie von vornherein ausgeblendet zu haben und erst bei Bedarf einzublenden.



  • Das werd ich dann mal noch ändern...

    Danke

    LittleGamer3


Anmelden zum Antworten