Verstecken von Chatzeilen

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Verstecken von Chatzeilen

Ungelesener Beitrag von Maxs » 08.07.2010, 15:18

Hallo liebe Webkicks-Scripter :wink:,

ich hab da mal eine Frage. Und zwar: Wie schaffe ich es, die letzte Chatzeile per JavaScript zu verstecken/unsichtbar zu machen?
Ich weiß zwar, dass ihr immer

Code: Alles auswählen

document.getElementsByTagName()[].style.display="none"
benutzt, doch ich werde daraus nicht schlau :) Bei Google hab ich auch nicht wirklich etwas hilfreiches bekommen. Ich verstehe nicht genau, was man in die Klammern setzt, und wie das Script auf die Chatzeile zugreift und es versteckt. Kann mir das einer mal erklären?
Ich weiß nur das DarkModi bei seinem Ignorescript die Länge des Chats gemessen hat, und von der Länge 1 abgezogen hat, um auf genau diese Zeile zu kommen.

Bei meinem Script sieht das ungefähr so aus:
Einer schreibt in den Chat ein Signalwort, z.B: "User: Los", dann wird vom Script automatisch eine neue Chatzeile geschrieben und das "User: Los" gelöscht.
Beispiel:
Script:Zeigen
User schreibt los:
(17:01) Maxs: Los
dann wird vom Script in den Chat automatisch "Es geht los..." geschrieben:
(17:01) Maxs: Los
Es geht los...
Nun löscht das Script das "(17:01) Maxs: Los" und es steht nur noch das da:
Es geht los...
Ich hoffe ihr habt meine Frage verstanden :?

Viele Grüße, Maxs

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Verstecken von Chatzeilen

Ungelesener Beitrag von 1. FC Keller » 08.07.2010, 15:35

In diesem Codeschnippsel wird erst ein HTML-Tag-Typ ausgewählt, dieser muss in die runde klammer. Da die Chatzeilen alle in Tabellen sind empfiehlt sich hier "table"... tbody, tr und td würden auch gehen, da das alles je einmal in der tabelle vorhanden ist
Script:Zeigen

Code: Alles auswählen

<table>
  <tbody>
    <tr>
      <td>
        Uhrzeit Nick Nachricht
      </td>
    </tr>
  </tbody>
</table>
In die eckige Klammer kommt die Zahl, also auf die wievielte tabelle wir zugreifen wollen. da das natürlich bei jedem anders ist (je nach dem wie lange man schon im Chat ist und entsprechend viele Nachrichten gepostet wurden) kann man hier keine feste Zahl eingeben, sondern muss sie ermitteln. Wenn man die letzte löschen will geht das recht einfach indem man das JS die Anzahl aller Tabellen minus 1 rechnen lässt (weil das Zählen immer bei 0 und nicht bei 1 beginnt). das geht mit dem Code document.getElementsByTagName("table").length-1

Entsprechend sieht der Code dann so aus:

Code: Alles auswählen

document.getElementsByTagName("table")[document.getElementsByTagName("table").length-1].style.display="none"
das könnte man noch verkürzen indem man document.getElementsByTagName("table") in eine kürzere Variable speichert:

Code: Alles auswählen

tbls=document.getElementsByTagName("table"); tbls[tbls.length-1].style.display="none"
Der Code sagt genau das gleiche, ist aber kürzer da wir den langen Code zum Abfragen aller Tabellen nur noch einmal nutzen.

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Verstecken von Chatzeilen

Ungelesener Beitrag von Maxs » 08.07.2010, 15:43

Vielen Dank dir ;)
Das nenn ich mal schnelles antworten. Jetzt hab ich das auch endlich kapiert.

Edit: Funktioniert perfekt :mrgreen:

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste