ilch Forum » Allgemein » HTML, PHP, SQL,... » Aufklappen mehrmals

Geschlossen
  1. #1
    User Pic
    Loqi-X Mitglied
    Registriert seit
    13.10.2008
    Beiträge
    439
    Beitragswertungen
    1 Beitragspunkte
    Hey,

    habe vorhin mal gegooglet und eine Code gefunden für meine FAQs, habe dies ein bisschen verändert, damit es so ist, wie ich es will.


    Das Problem ist, dass ich nur eine Frage reinschreiben kann, wenn ich mehrere hinzufüge, erscheint immer der 1. Text, obwohl ich auf die 2. Frage klicke.

    Hier sind die Codes:
    <SCRIPT type="text/javascript" language="JavaScript1.2">
    function versteckt(status)
    {
    document.getElementById('ghost').style.display = status
    }
    </SCRIPT>
    <TABLE cellspacing="2" cellpadding="2" border="0">
    <TBODY><TR><TD>
    <A href="#" onclick="versteckt('block'); return false;"><strong>» Was ist Players-Com?</strong></A> 
        </TD></TR><TR><TD style="display : none" id="ghost">Players-Community (Players-Com) ist ein Projekt von Loqi-X. Es dient für alles, in besonders rund um Spieler und Spiele. 
    Egal ob Sie mal Hilfe bei der Installation brauchen oder einen Clan bzw. ein Team erstellen wollen, wir helfen sicher.
    Unser Forum ist für viele Fragen offen, wir sind uns sicher, dass die Forum-Moderatoren sich bemühen um Ihnen eine gute Atmosphäre zu schaffen.
    </TD></TBODY></TABLE>


    Ich wollte es so, dass wenn ich auf die 1. Frage klicke, soll der 1. Text erscheinen.
    Wenn ich auf die 2. Frage klicke, soll der 2. Text erscheinen, aber der 1. soll noch da bleiben.

    Das ganze kannst du hier anschauen: externer Link

    Falls jemand helfen würde, würde ich mich sehr freuen.

    MfG Loqi-X


    Zuletzt modifiziert von Loqi-X am 12.09.2009 - 10:33:29
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    bis jetzt greifst du nur auf das Element mit der ID ghost zu mehr passiert nicht also das was du gecoded hast funktioniert allerdings finde ich auch nichts anderes in deinem quellcode also keinen anderen Link zum draufklicken.. Ich würde vorschlgen das du den Elementnamen noch übergibst an die javascript funktion.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    hab mir gerade meine antwort durchgelesen und muss sagen das Ich manchmal echt keine adequaten antworten gebe... Also nochmal von vorne... da ich denke das du das sonst nicht blickst..

    <A href="#" onclick="versteckt('block'); return false;">

    das ist ein link durch das draufklicken wird eine Javascriptfunktion aufgerufen und eine Variable mit dem wert block gefüllt...

    function versteckt(status)
    {
    document.getElementById('ghost').style.display = status
    }

    Das ist die Funktion diese Funktion wird beim klicken aufgerufen und die Variable status = 'block' . In der Function wird folgendes gemacht das Element mit der id 'ghost' wird sichtbar gemacht da die Variable status auf 'block' gesetzt wurde.

    um verschiedene Punkte aufklappbar zu machen gehst du wie folgt vor

    <A href="#" onclick="versteckt('block','ghost1'); return false;">

    ghost1 steht hierfür für das element was du aufklappen willst.

    Die funktion muss nun so lauten

    function versteckt(status, element)
    {
    document.getElementById(element).style.display = status
    }

    das bedeutet es wird nun nicht nur der Status übergeben wird sondern auch das Element sprich du übergibst 2 Variablen

    So müsste es dann bei mehreren Punkten aussehen

    <A href="#" onclick="versteckt('block','ghost1'); return false;">
    <A href="#" onclick="versteckt('block','ghost2'); return false;">
    <A href="#" onclick="versteckt('block','ghost3'); return false;">
    <A href="#" onclick="versteckt('block','ghost4'); return false;">

    Denn rest also die ausklappbareb Divs müsstest du selber hinbekommen

    hoffe ich konnte dir Helfen

    Der Code ist nicht getestet es kann also sein das da noch Formatierungsfehler drin sind auf die schnelle.. Für das Begreifen müsste es aber reichen.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Loqi-X Mitglied
    Registriert seit
    13.10.2008
    Beiträge
    439
    Beitragswertungen
    1 Beitragspunkte
    Erstmal danke für deine schnelle Antwort.

    Jedoch verstehe ich es nicht ganz.

    Habe rum probiert aber es tut sich nichts traurig.

    Könntest du mir mal die Codes schicken, sodass 2 Texts aufklappbar sind?

    Wenn ja, würdest du mir damit viel helfen.

    MfG Loqi-X
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Awaina Mitglied
    Registriert seit
    08.03.2009
    Beiträge
    130
    Beitragswertungen
    5 Beitragspunkte
    lordrepha meint, dass due deine Javascript Funktion um eine Eigenschaft erweitern musst.

    Du musst quasi aus dem Link:
    <A href="#" onclick="versteckt('block'); return false;">

    Nicht nur das Attribut "block" an die Funktion übergeben sondern auch den Namen des Elements - die ID.
    Bsp.:
    <A href="#" onclick="versteckt('block','gohst'); return false;">


    Parallel dazu musst du natürlich auch deine Funktion umschreiben, sodass sie 2 Attribute aufnehmen kann:
    1.<SCRIPT type="text/javascript" language="JavaScript"> 
    function versteckt(status, element) 
    { 
    document.getElementById(element).style.display = status 
    } 
    </script>


    Das sollte die Lösung sein. Hoffe ich konnt halbwegs verständlich erklären.
    mit freundlichem Gruß,
    Kevin "Awaina" K.
    CEO @ A|W Webhosting
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Loqi-X Mitglied
    Registriert seit
    13.10.2008
    Beiträge
    439
    Beitragswertungen
    1 Beitragspunkte
    Vielen Dank, habe es geschafft zwinker.

    Wie kann ich das amchen, dass wenn man auf den Link wieder klickt, das es sich zu klappt?

    Falls es keiner weiß, kein Problem. Ihr habt mir genug geholfen zwinker.

    MfG Loqi-X
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    hmmm das mit dem verstecken ist schon etwas tricky für dich als anfänger...

    du müsstest in der javascript funktion eine if schleife einbauen die den status aubruft zb so

    if (document.getElementById ('linkid') == 'block') {status = 'none'}
    else {status = 'block'}

    dann brauchst du das block auch nicht mehr an die javacript funktion liefern..

    ist auch wieder nur ein denkannstos
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Awaina Mitglied
    Registriert seit
    08.03.2009
    Beiträge
    130
    Beitragswertungen
    5 Beitragspunkte
    Nicht so kompliziert.

    Lass einfach den Status eines Elements überprüfen:
    if(document.getElementById(<element>).style.display=='none//block')


    Dann sagt du ihm einfach was er machen soll. Wenn es sichtbar sein sollte, sage ihm dass er es unsichtbar (display:none) machen soll und anders rum. Gehe nur immer vom dem Anfangszustand aus (als welcher im Obejkt definiert ist [inner html style]) und sage der Funktion dass sie diesen Zustand als erstes abfragen soll:
    if(document.getElementById(<element>).style.display=='none')


    Dann musst du ihr einfach noch sagen was sie tun soll:
    document.getElementById(<element>).style.display='block';


    Und um das anders herum zu drehen, einfach
    document.getElementById(<element>).style.display='none';


    In den Else bereich einfügen und somit wird das Element wieder ausgeblendet, da es ja nun die Eigenschaft "display:block" besitzt und die Funktion direkt in den "else-Teil" springt.
    Im großen und Ganzen sieht das dann so aus:
    <script language="javascript" type="text/javascript"> 
    	function <Funktionname>()  {      
    		if(document.getElementById('<element>').style.display=='none'){    
    			document.getElementById('<element>').style.display='block';
    		}
    		else{    
    			document.getElementById('element').style.display='none';
    		}  
    	};
    </script>
    mit freundlichem Gruß,
    Kevin "Awaina" K.
    CEO @ A|W Webhosting
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Loqi-X Mitglied
    Registriert seit
    13.10.2008
    Beiträge
    439
    Beitragswertungen
    1 Beitragspunkte
    Erstmal danke für codes, echt nett von dir das du deine Zeit geopfert hast, auch wenn das nur paar Minuten waren.

    Aber leider funktuniert das kleine Cödchen nicht.

    Hier sind nochmal die neuen Code:
    
    
    
    
    
    
    
    
    
    
    
    <SCRIPT language="javascript" type="text/javascript"> 
        function <Funktionname>()  {       
            if(document.getElementById('<element>').style.display=='none'){     
                document.getElementById('<element>').style.display='block'; 
            } 
            else{     
                document.getElementById('element').style.display='none'; 
            }   
        }; 
    </SCRIPT>
    <TABLE cellspacing="2" cellpadding="2" border="0"> 
    <TBODY><TR><TD>
    <A href="#" onclick="versteckt('block','ghost'); return false;"><strong>» Was ist Players-Com?</strong></A> 
        </TD></TR><TR><TD style="display : none" id="ghost">
    Players-Community (Players-Com) ist ein Projekt von Loqi-X. Es dient für alles, in besonders rund um Spieler und Spiele. 
    Egal ob Sie mal Hilfe bei der Installation brauchen oder einen Clan bzw. ein Team erstellen wollen, wir helfen sicher.
    Unser Forum ist für viele Fragen offen, wir sind uns sicher, dass die Forum-Moderatoren sich bemühen um Ihnen eine gute Atmosphäre zu schaffen.<BR><BR>
    </TD></TBODY></TABLE>
    <TABLE cellspacing="2" cellpadding="2" border="0"><TBODY><TR><TD><A href="#" onclick="versteckt('block','ghost1'); return false;"><strong>» Wo finde ich die Banner von PC?</strong></A> 
    </TD></TR><TR><TD style="display : none" id="ghost1">Die Banner von uns finden Sie unter "Linkus" in der Navigation.
    <BR> Die können auf anderen Homepages angezeigt werden, allerdings dürfen die Banner nicht verändert werden.<BR><BR>
    </TD></TBODY></TABLE>
    <TABLE cellspacing="2" cellpadding="2" border="0"><TBODY><TR><TD><A href="#" onclick="versteckt('block','ghost2'); return false;"><strong>» Copyright bei den Free-Templates?</strong></A> 
     </TD></TR><TR><TD style="display : none" id="ghost2">Die Copyrights von unseren Designs darf nich herausgenommen oder geändert werden. Außnahmen sind ausgeschlossen.
    Unsere Designer bemühen sich die Designs so zu gestalten, dass für jeden was dabei ist. Falls das Copyright verletzt wird, wird eine sofortige E-Mail abgeschickt, danach eine Anzeige<BR><BR>
    </TD></TBODY></TABLE>
     
    <TABLE cellspacing="2" cellpadding="2" border="0"><TBODY><TR><TD><A href="#" onclick="versteckt('block','ghost3'); return false;"><strong>» Was ist ein Patch?</strong></A> 
     </TD></TR><TR><TD style="display : none" id="ghost3">Ein Patch ist im großem und ganzen eine Korrektur zu Spielen, Programme oder Betriebssysteme.
    Es dient für viele Zwecke, darunter auch für mehr Sicherheit oder es kämpft sich über die vorhandenen Fehler durch. Sowas nennt man auch Bugfix.
    <BR>
    <BR>
    Oft werden für ein Spiel mehrere Patches erstellt, sodass man sie alle aufeinmal installieren muss.
    Meistens sind sie in einer WinRar-Datei eingepackt.<BR><BR>
    </TD></TBODY></TABLE>
     <TABLE cellspacing="2" cellpadding="2" border="0"> 
    <TBODY><TR><TD>
    <A href="#" onclick="versteckt('block','ghost4'); return false;"><strong>» Was ist ein Crack?</strong></A> 
     </TD></TR><TR><TD style="display : none" id="ghost4">Ein Crack ist meistens illegal, da sie zum verletzen des "Copyrights" dienen.<BR>
    Bei einem Crack wird nichts programmiert, es werden nur die bestehenden Codes bearbeitet, um das Spiel/Programm zu verändern.
    <BR>
    <BR>
    Wie man crackt, verraten wir euch nicht, da das die meisten Leute stören würde.<BR><BR>
    </TD></TBODY></TABLE>
    <TABLE cellspacing="2" cellpadding="2" border="0"> 
    <TBODY><TR><TD>
    <A href="#" onclick="versteckt('block','ghost5'); return false;"><strong>» Wie erstelle ich einen Clan?</strong></A> 
        </TD></TR><TR><TD style="display : none" id="ghost5">
    Hier ist eine Liste, wie du am besten einen Clan erstellst:
    <BR>
    <BR>
    - Einen Namen erfinden<BR>
    - Ein Team aufbauen, am besten mit mind. 5 Mitgliedern<BR>
    - Voiceserver besorgen<BR>
    - Gameserver besorgen<BR>
    - Ein paar Wochen in Ligen Aktiv spielen<BR>
    - Eine Homepage erstellen, am besten mit einem eigenen Design<BR>
    - Klare Ziele schaffen<BR>
    - Sehr viel Werbung machen<BR>
    <BR>
    <BR>
    Es gibt natürlich auch andere Arten ein Clan zu erstellen, aber diese ist aus unserer Sicht die beste Möglichkeit Erfolg zu haben.<BR><BR>
    </TD></TBODY></TABLE>


    Ist vielleicht bisschen durcheinander, aber würde mich wieder freuen wenn du/ihr das ansehen würdest/würdet.

    MfG Loqi-X
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Awaina Mitglied
    Registriert seit
    08.03.2009
    Beiträge
    130
    Beitragswertungen
    5 Beitragspunkte
    ZitatZitat geschrieben von Loqi-X

    Erstmal danke für codes, echt nett von dir das du deine Zeit geopfert hast, auch wenn das nur paar Minuten waren.

    Aber leider funktuniert das kleine Cödchen nicht.

    Hier sind nochmal die neuen Code:
    <CODE entfernt>

    Ist vielleicht bisschen durcheinander, aber würde mich wieder freuen wenn du/ihr das ansehen würdest/würdet.

    MfG Loqi-X


    xD ....Ne so war das nicht gemeint.
    <Funktionname> musst du durch den Namen der Funktion ersetzen. Ich weis ja nicht, mit welchem Link du das aufrufst.
    Der Link sieht so aus:
    <A href="#" onclick="versteckt('block','ghost'); return false;">


    Im Attribut des a-tags, [i]onklick[I] steht "versteckt('block','ghost')". Das "versteckt" ist der Name der Funktion die aufgerufen wird (im Script von mir: Funktionsname. In den klammern stehen die Variablen/Werte die in die Funktion übergeben werden sollen. in unserem Fall sind das zwei Textstrings. Ich würde dir empfhelen die Link wie folgt zu gestalten:
    <A href="#" onclick="versteckt('ghost'); return false;">


    und dem dementsprechenden Javascript:
    <SCRIPT language="javascript" type="text/javascript"> 
        function versteckt(element)  {       
            if(document.getElementById(element).style.display=='none'){     
                document.getElementById(element).style.display='block'; 
            } 
            else{     
                document.getElementById(element).style.display='none'; 
            }   
        };


    In den Links schreibst du einfach in die Klammern um welches Element es sich handelt.
    Somit übergibst du der Funktion dann diesen Text des Elements. In der Funktion (hinter ihrem Namen, in den klammern) wird diese Aufgenommen und in einen eigenständigen Namen gepackt. Diesen findest du in jeder Zeile des Funktionsablaufes wieder.

    Bei Fragen, gerne zur Verfügung.
    guten Abend :-)
    mit freundlichem Gruß,
    Kevin "Awaina" K.
    CEO @ A|W Webhosting
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Loqi-X Mitglied
    Registriert seit
    13.10.2008
    Beiträge
    439
    Beitragswertungen
    1 Beitragspunkte
    Ich komme jetzt ganz durcheinander grumml.

    Könntest du mal meine Codes, die ich zuletzt geschickt habe, so ändern das es funktuniert?

    Dann könnte ich mich daran orientieren.
    Du würdest mir damit eine große Menge helfen!

    MfG Loqi-X
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Awaina Mitglied
    Registriert seit
    08.03.2009
    Beiträge
    130
    Beitragswertungen
    5 Beitragspunkte
    Das Script:
    <script language="javascript" type="text/javascript"> 
        function versteckt(element)  {       
            if(document.getElementById(element).style.display=='none'){     
                document.getElementById(element).style.display='block'; 
            } 
            else{     
                document.getElementById(element).style.display='none'; 
            }   
        };
    </script>


    Der Link:
    <a href="#" onclick="versteckt('beispielelement'); return false;">Aufklappen</a>


    Das Element:
    <div id="beispielelement" style="display:none;">Erst bin ich unsichtbar, aber man kann mich anzeigen und ausblenden lassen.</div>
    mit freundlichem Gruß,
    Kevin "Awaina" K.
    CEO @ A|W Webhosting
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten