Du bist nicht angemeldet. [Anmelden]
Optionen
Thema bewerten
Spoiler-Javascript-Erweiterung?! - #2117510 - 30.10.2010, 23:27:22
TeamWelcome
Nicht registriert


Hallo. Ich stehe grade bei meiner Homepage vor einem Javascript, an dem ich nicht weiter komme.
Ich habe einen Spoiler, der standartmäßig angezeigt wird, den man aber wenn man will wegdrücken kann per Button. Der Code dazu sieht folgendermaßen aus:

Html:
<script language="JavaScript" type="text/JavaScript">
<!--
function show(id)
{
  document.getElementById(id).style.display='';
}

function hide(id)
{
  document.getElementById(id).style.display='none';
}
//-->
</script>


Html:
<div id="spoiler" name="spoiler" style="display:;">
  INHALT vom Spoiler
  <input type='image' alt='ausblenden' title='ausblenden' onclick="javascript: hide('spoiler');" src='img/x.gif'>
</div>


So alles schön und gut wenn man auf den Image-Button drückt verschwindet der gesamte Inhalt im Spoiler so wie ich das will. :-)
Aber jetzt kommts: Ich möchte, dass die Seite sich merkt, dass man den Spoiler geschlossen hat, damit die Seite auch beim nächsten mal wo diese Person die Seite öffnet den Spoiler im geschlossenem Modus vorfindet.
Wie? Ich möchte gerne, dass die Seite einen Eintrag in eine MySql-User-Datenbank einschreibt bzw per PHP einen bestimmten befehl ausführt, um die Datenbank zu updaten (oder Cookie zu setzen...)

Also im grunde möchte ich, dass beim klick auf den Button ein PHP-Befehl ausgeführt wird, ohne, dass sich die Seite dabei neu läd. Wie geht das? :-)

Freue mich über antworten. ;-)

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2117511 - 30.10.2010, 23:33:28
html

Registriert: 07.12.2008
Beiträge: 4.093

Vielleicht speicherst du den Spoiler einfach in / mit Cookies? :-)

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: html] - #2117515 - 30.10.2010, 23:37:24
TeamWelcome
Nicht registriert


Wie meinst du das? ?-)

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2117526 - 30.10.2010, 23:49:09
TeamWelcome
Nicht registriert


Das Ding ist ja, dass ich die Thread eröffnet habe, weil ich keine Ahnung hab, wie ich nen Cookie bei dem Script setzen kann. :-D

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2117543 - 31.10.2010, 00:28:26
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Such doch mal eben nach dem Cookie-PlugIn von jQuery.
Ich koennte dir erklaeren, wie dieses PlugIn funktiniert aber es ist spaet und meine Lust schwindet.
Es ist ausreichend dokumentiert und mittels Suchanbieter findet man die Erklaerungen

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: huendchen] - #2117795 - 31.10.2010, 16:04:38
x Swinq <> Swinq x
Nicht registriert


Man brauch nicht für jeden Pipikram jQuery. %-) Wie man aber auch allein an der Syntax schon sieht, verwendet er kein jQuery oder irgendein andere JS Framework.

I am a cookie - Don't eat me.

Zu deiner Funktion. Oh, verzeih. Zu deinen Funktionen. Schmeiß die zweite Funktion raus, benenne die erste Funktion um und es sieht schon viel schöner aus.

Wieso die zweite Funktion rauswerfen? Ganz einfach. Mittels einer If-Abfrage kannst Du ermitteln ob das 'Objekt' bereits geschlossen oder geöffnet ist.

Code:
if( document.getElementById(id).style.display == 'block' ) {

   //Tu was.

}

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2117806 - 31.10.2010, 16:32:40
Mein Nick
Nicht registriert


Antwort auf: x Swinq <> Swinq x
Man brauch nicht für jeden Pipikram jQuery. %-) Wie man aber auch allein an der Syntax schon sieht, verwendet er kein jQuery oder irgendein andere JS Framework.
I am a cookie - Don't eat me.

Warum nicht? Die Hide & Show-Funktion wuerde dann auch schon mal wegfallen. Dazu vereinfacht jQuery einiges, und du weisst ja nicht was er alles noch so auf der HP hat / will.
Antwort auf: x Swinq <> Swinq x
Wieso die zweite Funktion rauswerfen? Ganz einfach. Mittels einer If-Abfrage kannst Du ermitteln ob das 'Objekt' bereits geschlossen oder geöffnet ist.

Was nun wenn er zusaetzlich inline-Elemente ein-/ausblenden will?

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2117820 - 31.10.2010, 16:51:32
x Swinq <> Swinq x
Nicht registriert


Antwort auf: Mein Nick
Antwort auf: x Swinq <> Swinq x
Wieso die zweite Funktion rauswerfen? Ganz einfach. Mittels einer If-Abfrage kannst Du ermitteln ob das 'Objekt' bereits geschlossen oder geöffnet ist.

Was nun wenn er zusaetzlich inline-Elemente ein-/ausblenden will?


Benutzt er eben die selbe Funktion? Zur Not mit ner zweiten Anweisung, what ever.

Zum Theme jQuery: Ich vertrete die Meinung, das man als Hobby Programmierer, welcher nicht gerade viel weiß oder wissen will, kein jQuery benötigt. Aus dem einfachen Grunde: Vielen wird das wieder zu viel zum lernen / lesen. Also sollten sie doch erst einmal bitte eine oder auch zwei Programmiersprachen beherrschen. Auch wenn es nur das Grundwissen ist.

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2117880 - 31.10.2010, 18:34:26
Scnappi
Nicht registriert


jQuery ist aber sehr leicht zu lernen, gerade für Hobby-Programmierer, die sich sowas selbst beibringen. Es reichen CSS-Vorkenntnisse (für die Selektoren) und das kennen von ein paar Funktionen. Dann muss man sich nur noch ganz grob mit dem Syntax auskennen und kann die tollsten Dinge basteln.

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2117914 - 31.10.2010, 19:47:23
Mein Nick
Nicht registriert


Antwort auf: x Swinq <> Swinq x
Benutzt er eben die selbe Funktion? Zur Not mit ner zweiten Anweisung, what ever.

Und wo ist der Vorteil einer grossen Funktion mit was weiss ich wie vielen if-/elsebedingungen, wenn ich das gleich in 2 kleinen Funktionen schreiben kann?

Ich mache es zwar auch mit einer Funktion, aber dein Gedanke war nicht weit genug gedacht.

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2118049 - 31.10.2010, 22:34:25
TeamWelcome
Nicht registriert


Und wie kann ich jetzt beim einklappen des Spoilers nen PHP-Befehl durchrasseln lassen ;-)

[zum Seitenanfang]  
Re: Spoiler-Javascript-Erweiterung?! [Re: ] - #2118170 - 01.11.2010, 07:08:49
Mein Nick
Nicht registriert


Mit Ajax, falls du nu schon jQuery hast:
http://api.jquery.com/category/ajax/

[zum Seitenanfang]