Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Rozwijanie/Chowanie komentarzy
Otto
post 16.01.2011, 15:12:44
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 7
Dołączył: 22.03.2010

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
MateuszS
post 16.01.2011, 15:36:53
Post #2





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

Ostrzeżenie: (0%)
-----


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>


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:35