Javascript Funktion ein/ausblenden

Hallo, ich möchte auf meiner Seite einen Button mit
Ein bzw. Ausblenden haben…

Es soll auf Button-Klick ein Script ausgeführt und
auf erneuten Button-Klick nicht mehr ausgeführt werden…

P.S.: Eine Grafik mit Text soll ein- bzw. ausgeblendet werden.
Die Frau oben links… > vdl.odem.org/

Wie geht das bitte am einfachsten?

:wink:

sowas geht mit z.b. script.aculo.us

anosnetn einfach ein wenig eigeninitative --> google benutzen :wink:

Google spuckt nur !haue aus…

Ä was is das bitte:
script.aculo.us

:qst: :susp:

jQuerry -> SlideToggle

wenn du das meinst, was ich meine…
PS: maulepan.bplaced.net/03 (wie meine SideBar)

So was Ähnliches…

Unter vdl.odem.org/
ist ja eine lustige Frau oben links dargestellt…

Sowas möchte ich auch,
aber das der Besucher zuerst auf einen Button klicken muss
um Sie zu sehen…
Wegblenden wia Button Klick!

is ja fast das gleiche…

gug doch einfach mal in den quellcode

@maulepan
einfach ausblenden fänd ich net so toll^^
Besser man stoppt wirklich das Script^^
Is Browser freundlicher :smiley:

Möglich ists auch, nur man müsste das Script dafür anpassen.
Daher es müsste auf dem eigenen Space liegen und man müsste direkt in das auszuführende Script diese Funktion einbauen.

Eventuell reichts auch das Script dynamisch einzubinden und eben wieder "auszubinden"
Der FF macht da vermutlich keine Probleme… mann müsste schaun wies bei anderen ist eg IE

Nachtrag:

function loadJS(file,target) { var script = document.createElement('script'); script.setAttribute('type','text/javascript'); script.setAttribute('src','js/'+file); if(target != null) var targetOjc = document.getElementById(target); else var targetOjc = document.body; targetOjc.appendChild(script); }
Das könnte man so oder in anderer Form fürs einbinden nutzen^^
Wenn du Ahnung von JS hast bekommste es auch sicher hin nen unloadJS zu basteln :smiley:
Beispielaufruf: loadJS(‘http://www.seite.tld/script.js’,null)

[size=85]Nachtrag2:
Schreibfehler behoben :smiley: (fett geschriebenes)[/size]

Aso, und wie soll das bitte gehen?

Nachtrag:

Werd mir das mal anschauen! - Sag erstmal DANKE!

:wink:

wenn du willst schreib ich dir ne Funktion^^ Man sollte die loadJS auch nomma umschreiben^^
Ich benutz die Funktion ja selber… nur die hat keinen Schutz vor mehrfach Einbindung :smiley:
Könnt ich noch einbaun^^ und wenn ich sowas eh mach kann ich dir auch gleich das ganze Script schreiben :stuck_out_tongue:

[quote=„White-Tiger“]wenn du willst schreib ich dir ne Funktion^^ Man sollte die loadJS auch nomma umschreiben^^
Ich benutz die Funktion ja selber… nur die hat keinen Schutz vor mehrfach Einbindung :smiley:
Könnt ich noch einbaun^^ und wenn ich sowas eh mach kann ich dir auch gleich das ganze Script schreiben :stuck_out_tongue:[/quote]

Ä, bist du der Weihnachtsmann?

Mannnn, das wäre super!

:wink:

:hail: :hail: :hail: Großer weißer Tiger

Ich hab im dazu auch schon ne PM geschrieben^^ Aber ich Post ma für alle :stuck_out_tongue:
Meine Versuche habe ich her gemacht: white-tiger.bplaced.net/other/dynamic_js.php
WARNING! DON’T GO TO THIS SITE IF YOU ARE AN EPILEPTIC [size=85](ok you can but dont pres “load”)[/size]
WARNUNG! GEHE NICHT ZU DIESER SEITE, WENN DU EIN EPILEPTIKER BIST [size=85](ok du darfst, drück aber nicht “load”)[/size]

Leider ist das Entladen nicht möglich^^ Es gäbe ja nen weg, wenn man mitm Browser vernünftig AJAX nutzen könnte (externe dateien laden) Dann könnte man das Script anpassen.
Es würde auch so gehen allerdings müsste man dazu iwie functionen eines Scripts auslesen können bzw. dessen namen + variablen.
Wenn jemand nen Weg kennt, alle functionen eines script oder der Seite aufzulisten (per JS) und auch für Vars, sagt bitte bescheid :wink:

Nachtrag:

Aja für die die keine Webdeveloper Toolbar haben (FF)
Geladen:[code]

<title>Dynamic Javascript Load</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<link rel="shortcut icon" href="http://ultimateteamspeak.de/favicon.gif" type="image/gif">
<!--<link rel="stylesheet" href="stylesheet.css" type="text/css">-->
<script src="js/dyn_js_load.js" type="text/javascript"></script>
<h1>Dynamic Javascript Load</h1>

<hr>
press load to load: <a href="#" onclick="loadJS('js/damn.js');">load</a><br>

press unload to unload: unload

[/code][u][b]Entladen:[/b][/u][code]
<title>Dynamic Javascript Load</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<link rel="shortcut icon" href="http://ultimateteamspeak.de/favicon.gif" type="image/gif">
<!--<link rel="stylesheet" href="stylesheet.css" type="text/css">-->
<script src="js/dyn_js_load.js" type="text/javascript"></script>

Dynamic Javascript Load

<hr>
press load to load: <a href="#" onclick="loadJS('js/damn.js');">load</a><br>

press unload to unload: unload

[/code] Da sieht man sehr gut das das Script weg is... die Funktionen gehen jedoch noch^^

Selbstverständlich - wer würde denn was anderes erwarten …?

Jeder?
Kein Script == Keine Funktionen^^
Hier ists jedoch: Script einmal == Funktionen für immer auch ohne Script

Natürlich. Das Script-Element ist ja nur das “Transportvehikel” innerhalb des HTML-Dokumentes, um den Scriptcode an den JS-Interpreter zu übergeben.
Nachdem das einmal geparst/eingelesen wurde, ist des dem aber vollkommen egal, was hinterher mit dem HTML-Element passiert.

was aber ziehmlich sinnfrei ist^^
Immerhin steht der Code in dieser dadurch eingebundenen Datei. Wenn die Datei weg ist, sollte es auch das Script da dies eigentlich nicht mehr da ist^^
Man müsste sichs so vorstellen:

[code]

[/code]erzeugt was wie:[code] [/code]Daher: ists weg ist kein Code mehr zum ausführen da^^ Klar klappts auf die aktuelle art nicht da es in den Interpreter gehaun wird und nicht überprüft wird obs überhaupt noch da ist^^

Aber genau diese Überprüfung sollte es geben^^ Alleine schon weils keine Nachteile hat und schon sehr viele sowas versucht haben^^
[size=85](wieso ist im HTML standard sowas eigentlich net drin? Allein von der Logic her müsste es so sein^^)[/size]
Aber hier gings jetzt ja auch ums umgehen^^ Das es so wies richtig wäre nicht geht ist atm klar… Aber gibts in JS ne Möglichkeit, alle existierenden Vars und Funktionen aufzulisten?

[quote=“White-Tiger”]was aber ziehmlich sinnfrei ist^^
Immerhin steht der Code in dieser dadurch eingebundenen Datei. Wenn die Datei weg ist, sollte es auch das Script da dies eigentlich nicht mehr da ist[/quote]
Nein, ist nicht sinnfrei.

Wie ich schon sagte, die Einbindung im DOM ist nur Transportvehikel. Der JavaScript-Interpreter ist eine andere Welt, und den interessieren anschliessend durchgeführte Änderungen am DOM diesbezüglich nicht mehr.

Wozu sollte es die geben?
Wer hat das versucht, und zu welchem Zweck?

Wenn du Objekte nicht mehr haben willst, kannst du sie überschreiben oder löschen.

Nö, kann ich keinen Sinn drin erkennen.

Jein.

So gut wie alle Objekte hängen zwar unterhalb von window, lassen sich also auch rekursiv durchlaufen (for-in). Aber an Objektattribute und -Methoden, die nicht public sind, kommst du damit nicht heran.
Wenn man sich einen Überblick verschaffen will, leistet da ein JS-Debugger bessere Dienste.

Das geblinke ist ja recht nett…

Aber wie muss ich bitte das Script ändern um das da
vdl.odem.org/vdl.js ein bzw. ausblenden zu können?

Vorschau siehe: vdl.odem.org/ links oben.
Die Frau soll quasi via Klick auf den Link A erscheinen und
dann auf Klick auf Link B wieder verschwinden…

Oder geht das nicht?

:qst: :whata:

P.S.: Dankeschön

Ich find dieses Ursula von der dings verarsche Zeugs zwar net so toll^^
Aber hier^^
white-tiger.bplaced.net/other/dynamic_js.php
Ich konnte es Zwar nur dynamisch laden und nicht wieder entladen, aber dafür wirds halt versteckt^^
Is zwar net so toll aber dennoch besser als es von vorne rein zu verstecken :smiley:
Was du brauchst ist:
[size=85] <script type="text/javascript"> function loadJS(url,target) { if(target == null) target = document.getElementsByTagName('head')[0]; else if(!(target = document.getElementById(target))) target = document.getElementsByTagName('head')[0]; var elements = target.childNodes; for(var i = 0;i < elements.length;i++) if(elements[i].nodeName == 'SCRIPT' && elements[i].getAttribute('src',0) == url) return false; var script = document.createElement('script'); script.setAttribute('type','text/javascript'); script.setAttribute('src',url); target.appendChild(script); return true; } function VDL_run() { if(typeof(VDL) == 'undefined'){setTimeout('VDL_run();',100);return;} VDL.hardcore = false; // Hundebabys!!! (false durch true ersetzen) VDL.pos.pic.x = 25; // Abstand in Pixel vom linken Fensterrand VDL.pos.pic.y = 25; // Abstand in Pixel vom oberen Fensterrand VDL.onload(); } function toogleVDL() { var VDL_div = document.getElementById('ZENSURSULA'); if(!VDL_div) { loadJS('http://vdl.odem.org/vdl.js'); VDL_run(); } else if(VDL_div.style.display != 'none') VDL_div.style.display = 'none'; else VDL_div.style.display = 'block'; } </script>[/size]in den Head Bereich deine HP einzubinden (hier
und dann die Funktion toogleVDL(); aufrufen.
eg <button type="button" onclick="toogleVDL();">zensursula anzeigen</button>[size=85](in den Body (hier) aber ich denke das kannst du :stuck_out_tongue:)[/size]

edit:
Natürlich die funktion VDL_run() anpassen, da dort die Daten für VDL eingestellt werden.

DANKE!

Du bist wirklich der Weihnachtsmann der Alles kann…

:hail: :hail: :hail: :hail:

bist du auch so dick? :smiley: