2017-08-18 1 views
-1

Ich habe eine Webseite, die dynamisch Kommentare erstellt. Kommentare werden minimiert und können über den Link "mehr" erweitert werden. Wenn ich auf den Link Mehr klicke, springt die Seite zum Anfang der Seite. Ich wollte es so machen, dass beim Klicken auf die Schaltfläche "Mehr" der vollständige Kommentar angezeigt wird und die Seite am Ort des Kommentars verbleibt.Verankern Sie eine Seite, wenn ein Absatz über Javascript erweitert wird

HTML

<div tal:condition="not comment.pending_review"> 
           <tr> 
            <td>${ comment.account.email }</td> 
            <td> 
             <p class="more_text" 
              style="width: 250px; white-space: nowrap;overflow: hidden;text-overflow: ellipsis" 
             >${ comment.comment }</p><a name="${ comment.id }" id="${ comment.id }" data-id="comment" class="more_link" href="#">more</a></td> 
            <td><span class="star" tal:repeat="number [i for i in range(comment.star_rating)]"> 
              <span class="fa fa-star"></span> 
             </span> 
            </td> 
           </tr> 
          </div> 

Javascript

$('.more_link').click(function(){ 
       $('.more_text').css({'width': '', 'white-space': '', 'overflow': '', 'text-overflow': ''}); 
       $(this).hide(); 
       var anchor_id = $(this).attr('name'); 
       location.hash = "#" + anchor_id; 
      }); 

Antwort

0

was ist, wenn Sie nur eine Taste verwenden anstelle eines ein? Du könntest den "href = #" Teil löschen, der dich dann nach oben springt - Nur ein Vorschlag :)

Verwandte Themen