JavaScript zum Erzielen eines Texterweiterungs- und -reduzierungseffekts

JavaScript zum Erzielen eines Texterweiterungs- und -reduzierungseffekts

Die Implementierung des Erweiterns und Reduzierens von Listentext dient Ihnen als Referenz. Die spezifischen Inhalte sind wie folgt

brauchen:

1. Wenn der Text den Zielwert überschreitet, wird der Zielwert abgefangen, der Rest ausgeblendet und gleichzeitig das Wort „Erweitern“ und der Dropdown-Pfeil angezeigt.
2. Klicken Sie auf "Erweitern", um den gesamten Text anzuzeigen, und wechseln Sie zu "Reduzieren" und dem Pull-Up-Pfeil
3. Wenn der Text selbst den Zielwert nicht überschreitet, zeigen Sie einfach den gesamten Text an

Ich habe darüber nachgedacht, CSS zu verwenden, um die Anzahl der auszublendenden Zeilen festzulegen oder die Höhe des auszublendenden Li-Tags festzulegen, aber keines davon kann die dritte Anforderung oben erfüllen. Daher dachte ich an die folgende Methode, die verwendet werden kann

Ideen:

1. Durchlaufen Sie zunächst die Elemente, die erweitert und reduziert werden müssen, blenden Sie sie aus, wenn sie den Zielwert überschreiten, und speichern Sie dann den Inhalt aller Tags (der später beim Anzeigen aller verwendet wird).
2. Wenn Sie zum Erweitern oder Reduzieren klicken, gleichen Sie den gespeicherten Wert mit dem aktuellen Inhalt ab, führen Sie dann die entsprechende Verarbeitung durch und zeigen Sie ihn an.

HTML

<ul Klasse="outList">
        <li>
            <div>Nr. 5-14</div>
            <ul Klasse="innereListe">
                <li class="wordsContent">1111111111111111111111</li>
                <li Klasse="WörterInhalt">222222222222222222222222</li>
                <li class="wordsContent">33333333333333333333333</li>
            </ul>
        </li>
        <li>
            <div>Nr. 5-15</div>
            <ul Klasse="innereListe">
                <li class="wordsContent">4444</li>
                <li class="wordsContent">5555555555555555555555555555</li>
                <li class="wordsContent">666666666666666666666666</li>
            </ul>
        </li>
</ul>

CSS

ul,li {
   Listenstil: keiner;
 }
.innerList>li {
     Rand unten: 0,2rem;
     Rahmen unten: 0,01rem durchgehend grün;
     Box-Größe: Rahmenbox;
     Polsterung: 0,2rem 5 % 0,7rem 3 %;
     Position: relativ;
     Rand unten: 0,3rem;
 }
 .offen {
     Schriftgröße: 0,22rem;
     Farbe: #12309E;
     Position: absolut;
     rechts: 0,2rem;
     unten: 0,1rem;
     Schriftstärke: fett;
 }
 .schließen {
     Schriftgröße: 0,22rem;
     Farbe: #12309E;
     Position: absolut;
     rechts: 0,2rem;
     unten: 0,1rem;
     Schriftstärke: fett;
 }

JS

//Nachrichten erweitern und reduzieren var objList = $(".wordsContent"); //Die li-Tag-Elemente, die erweitert und reduziert werden müssen var maxNum = 5; //Die Länge des Zielwerts var arr = []; //Alle Texte, die erweitert und reduziert werden müssen objList.delegate(".open", "click", function () {
    öffnenSchließen(true, dies)
})
objList.delegate(".schließen", "klicken", Funktion () {
    öffnenSchließen(false, dies)
})
// Paket initialisieren. Der Zweck der Initialisierung ist 1: den ursprünglichen Inhalt des Li-Tags zu speichern; 2: den Text auszublenden, der den Zielwert überschreitet function init(objList, maxNum) {
    objList.each(Funktion (Index, Element) {
        arr.push($(item_).text())
        wenn ($(item).text().length > maxNum) {
            $(item).html($(item).text().substr(0, maxNum) + "<span class='open'>Erweitern<img src='./image/down^.png'/></span>")
        }
    })
}
init(Objektliste, maxAnzahl)

//Kapselungsfunktion zum Erweitern und Reduzieren openClose(boo, clickObj) {
    var final = '';
    arr.map(Funktion (Element, Index) {
        wenn (item.match($(clickObj).parents(".wordsContent").text().substring(0, $(clickObj).parents(".wordsContent").text().length - 2))) {
            final = Artikel
        }
    })
    wenn (buuuh) {
        $(clickObj).parents(".wordsContent").html(final + "<span class='close'>Zurück<img src='./image/up^.png'/></span>")
    } anders {
        $(clickObj).parents(".wordsContent").html(final.substr(0, maxNum) + "<span class='open'>Erweitern<img src='./image/down^.png'/></span>")
    }
}

Wirkung

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • vue.js implementiert den Animationseffekt „Klicken zum Erweitern und Reduzieren“
  • JavaScript-Implementierung von IE6-kompatiblen Collapse- und Expansion-Effekten
  • Natives JS imitiert den QQ-Leseeffekt durch Klicken zum Erweitern und Reduzieren
  • Native js realisiert die Funktion zum Erweitern/Reduzieren des Volltexts der Nachrichtenliste
  • So steuern Sie das Reduzieren und Erweitern von Webseitenebenen mit JavaScript
  • Ein gepackter JS-Code ----- Beispiel für Expand- und Collapse-Effekt
  • Ich habe einen JS-Effekt geschrieben, der sich erweitern und reduzieren lässt
  • Die Wirkung einer Javascript-Anzeige, die sich langsam ausdehnt und dann langsam zusammenfällt

<<:  Ursachen und Lösungen für MySQL-Deadlocks

>>:  Tutorial zur Installation von MySQL mit Docker und zur Implementierung einer Remote-Verbindung

Artikel empfehlen

Zusammenfassung der HTML-Wissenspunkte für das Frontend (empfohlen)

1. HTML-Übersicht htyper Textauszeichnungssprache...

Vue implementiert die Drag & Drop-Sortierfunktion der Seiten-Div-Box

vue implementiert die Drag & Drop-Sortierfunk...

So implementieren Sie das Beobachtermuster in JavaScript

Inhaltsverzeichnis Überblick Anwendungsszenarien ...

Testfragen und Referenzantworten zum Thema Webdesign und Produktion

<br />Test zu Webdesign und -produktion, Tei...

CSS-Vererbungsmethode

Gegeben sei ein Div mit folgendem Hintergrundbild...

Üben Sie die Verwendung von Golang, um mit der Docker-API zu spielen

Inhaltsverzeichnis Installieren des SDK Lokalen D...

Detaillierte Erklärung zur Formatierung von Zahlen in MySQL

Aus beruflichen Gründen musste ich kürzlich Zahle...

WeChat-Applet implementiert ein einfaches Würfelspiel

In diesem Artikel wird der spezifische Code des W...