Text später einblenden mit Javascript? Muss man es durch einen Link machen, wo die ganze Webseite neu geladen wird oder geht es einfacher?
Hey, Bin in dem Gebiet Javascript nicht gerade ziemlich erfahren. Ich will nicht viel mit Javascript machen, nur möchte ich auf meiner Webseite an einen Text so etwas wie (Weiterlesen) einbinden, muss ich dazu dann einfach in HTML einen Link erstellen, zur einer neuen Webseite, wo ich quasi alles kopiere und nur den restlichen Text einfüge ? Nein oder, man macht ja nicht für jede Kleinigkeit eine ganz neue Seite. Wie stelle ich das dann in HTML und anschließend mit der Javafunktion an?
PS: Hab eigentlich auch schon den passen Javascriptcode gefunden, nur ich verstehe halt hauptsächlich nicht, ob man in HTML eine komplett neue Webseite dafür machen muss ??
4 Antworten
Dafür gibt es mindestens zwei Ansätze.
Ansatz 1: Der erste wäre, dass du bereits den kompletten Text in der html-Datei geladen hast und ihn mit css anschneidest, z.B. in dem du die Höhe des Containers, in dem der Text liegt, nicht automatisch anpassen lässt, sondern ihm eine feste Höhe gibst. Mit einem zweiten Element, das in diesem Container absolut liegt und bottom: 0 hat, könntest du mit einem transparenten Verlauf weiteren Text andeuten und auch einen Schriftzug mit "weiterlesen" einfügen. Wenn man nun auf dieses Element klickt, änderst du mit JavaScript die Höhe des Containers, in welchem der Text liegt.
Ansatz 2: Du lädst den Text mit Ajax erst beim Klick auf "weiterlesen" nach, statt den gesamten Text bereits geladen zu haben und ihn anzuschneiden.
Ich empfehle dir letzteres, weil der Nutzer dann keine Informationen laden muss, die ihn nicht wirklich interessieren.
Also wir machen das alles mit jquery. Kann ich nur empfehlen.
Ein kleines Beispiel
$('.clickregion').click(function(){
$('.selector').toggle();
});
Ist zwar keine Lösung, aber ein Hinweis wohin JavaScript Reise hingehen sollte
Du kannst "weiterlesen" als Link oder als Schaltfläche realisieren und das Click-Ereignis abfangen oder du lädst automatisch nach eine bestimmten Zeit den Rest nach, indem du setTimeout verwendest.
Nein, man muss keine ganz neue Website dafür machen!
Es reicht eigentlich schon, den Text in ein Container zu packen, der unsichtbar ist und bei Druck auf den Knopf "Weiterlesen" eine Javascriptmethode aufzurufen, die den Container sichtbar und den Button unsichtbar macht und evtl. einen anderen Button sichtbar macht, der den so "ausgeklappten" Text wieder einfährt!