2017-10-04 1 views
0
abschneiden

Also habe ich div erstellt (es hat Höhe und Überlauf eingestellt) mit zwei Absätzen und "mehr lesen" -Link. Der zweite Absatz ist ausgeblendet.jquery - Text im Absatz

<div class="text"> 
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam iusto, voluptatum dolorem maiores ratione accusamus modi, sit. Velit nobis quod praesentium quaerat. Sunt mollitia odit asperiores numquam, debitis facere. Nulla.</p> 
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam iusto, voluptatum dolorem maiores ratione accusamus modi, sit. Velit nobis quod praesentium quaerat. Sunt mollitia odit asperiores numquam, debitis facere. Nulla.</p> 
</div> 
<div><a class="more" href="#">read more</a></div> 

Mit diesem Skript, wenn ich auf "Lesen Sie mehr" klicken, zeigt es den zweiten Absatz.

$('.more').click(function(e) { 
    e.stopPropagation(); 
    $('.text').css({ 
     'height': 'auto' 
    }); 
    $('.more').hide(); 
}); 

Was ich jetzt tun muß, ist, den Text in Absatz zu 50 Zeichen zu kürzen und den Rest ersetzen mit: „... mehr lesen“. Wenn Sie erneut auf "Mehr lesen" klicken, sollte der gesamte Text aus beiden Absätzen angezeigt werden. Wie würde ich das tun?

+0

Siehe auch: https://stackoverflow.com/questions/34926435/jquery-read-more-toggle –

+0

Mögliche Duplikat [Jquery Lesen Sie weiter Toggle] (https://stackoverflow.com/questions/34926435/ jquery-read-more-toggle) –

Antwort

0
var firstPara = $('.text p:first').text(); /* Get text in first paragraph */ 

    $('.text p:first').html(firstPara.substring(0,50)+' <a class="more" href="#">read more</a>'); /* Replace first paragraph text with first 50 characters */ 

    $('.text p:last').append(firstPara.substring(50)); /* Append remaining text to Second paragraph */ 

$('body').on('click','a.more',function(){ 
/*enable second para on more click*/ 
    $('.text p:last').show() 
}) 
+0

Willkommen bei SO, und vielen Dank für Ihre Hilfe! Es wäre großartig, wenn Sie Ihren Code kommentieren oder eine Erklärung dafür geben könnten, was diese Lösung tut - Code-Only-Antworten sind nicht sehr nützlich –