Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Rozwijanie/Chowanie komentarzy
Forum PHP.pl > Forum > Przedszkole
Otto
Witam mam taki problem z rozwijaniem i chowaniem komentarzy... Gdy komentarz jest dłuższy niż 280 znaków chcę aby cała reszta była schowana. Jednak gdy jest więcej niż jeden taki komentarz to ostatni działa poprawnie a wszystkie poprzednie nie. Tz jak w poprzednich kliknę Pokaż więcej... To rozwinie się ostatni komentarz.

  1. while ($r = mysql_fetch_array($q)) {
  2.  
  3. if ($i % 2) {
  4. $background = " style='background-color: #e8f7fd;'";
  5. } else {
  6. $background = "";
  7. }
  8.  
  9. echo "<tr".$background."><td width='5%'><img src='#' width='50px' height='50px' class='small-cover'></td><td valign='top'>";
  10. echo "<span style='color: #2772b8; font-weight: bold;'><a name='comment_".$r['comments_id']."'></a>Dodał <a class='link-blue' href='user.php?name=".$r['comments_autor']."'>".$r['comments_autor']."</a> dnia ";
  11. echo data("date", $r['comments_time']);
  12. echo " o godzinie ";
  13. echo data("time", $r['comments_time']);
  14. echo "</span><br>";
  15.  
  16. $sl = strlen($r['comments_text']);
  17. if ($sl > "280") {
  18.  
  19. echo "<script language='javascript'>";
  20. echo "function rozwiniete() {";
  21. echo "document.getElementById('number_".$r['comments_id']."').innerHTML = \"".$r['comments_text']." <a class='link-blue' href='news.php?id=".$id."#comment_".$r['comments_id']."' onclick='zwiniete()'>Schowaj...</a>\";";
  22. echo "}";
  23. echo "function zwiniete() {";
  24. echo "document.getElementById('number_".$r['comments_id']."').innerHTML = \"".trim(substr($r['comments_text'], 0, 280))."... <a class='link-blue' href='news.php?id=".$id."#comment_".$r['comments_id']."' onclick='rozwiniete()'>Pokaż całość...</a>\";";
  25. echo "}";
  26. echo "</script>";
  27.  
  28. echo "<span style='font-size: 11px;' id='number_".$r['comments_id']."'>".trim(substr($r['comments_text'], 0, 280))."... <a class='link-blue' href='news.php?id=".$id."#comment_".$r['comments_id']."' onclick='rozwiniete()'>Pokaż całość...</a></span>";
  29. } else {
  30. echo "<span style='font-size: 11px;'>".$r['comments_text']."</span>";
  31. }
  32.  
  33. echo "</td><tr>";
  34.  
  35. $i++;
  36.  
  37. }
MateuszS
Najpierw proponuję Ci ten javascript przenieść poza pętlę bo cały czas redeklarujesz te funkcje, jeżeli masz serwer z intelem i7 i 32gb ram to ok, ale w przeciwnym razie pozdro 600 dla niego... Poza tym javascript w PHP bardzo źle wygląda. Do czego zmierzam? Twój kod jest dla mnie nieczytelny. Jakbym się wgłębił pewnie bym doszedł czemu Ci nie działa, ale patrząc na to po prostu nie jestem w stanie. Zainteresuj się też jquery to unikniesz takiego czegoś jak <element id="numer_".$zmienna>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.