Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Ograniczenie ilości znaków i przycisk "więcej"
Forum PHP.pl > Forum > Przedszkole
.Wojtek
Witam

Borykam się z problemem jak zrobić coś takiego, że, np. w jakimś div'ie jest tekst o zbyt dużej ilości znaków i chciałbym, by przy otwieraniu strony został on automatycznie skrócony do danej ilości znaków, oraz zaraz za nim został dodany napis "więcej", będący przyciskiem - po jego naciśnięciu wyświetliła by się reszta tekstu, a napis "więcej" zamieniłby się na "ukryj".

Np.

  1. <div>ten tekst ma 40 znaków_45678901234567890</div>


a wyświetliło by się:

Cytat
ten tekst ma 30 znaków więcej


po kliknięciu w napis "więcej", pokazało by się:

Cytat
ten tekst ma 40 znaków_45678901234567890 ukryj


Cienki jestem z javascript'u, dlatego nie wiem jak do tego się zabrać.

Pozdrawiam

//edit2

problem już rozwiązałem
jedrzejbl
w php:
  1. <?php
  2. function skroc($tekst, $ilosc_znakow) { //SKRACA CIĄG DO PODANEJ DŁUGOŚCI
  3. return substr($tekst, 0, $ilosc_znakow).'... <a href="http://link.do.artykulu/">Więcej</a>';
  4. }
  5. function skroc_pelne_wyrazy($tekst, $ilosc_znakow) { //SKRACA CIĄG DO PODANEJ DŁUGOŚCI UWZGLĘDNIAJĄC WYRAZY
  6. return substr($tekst, 0, stripos($tekst, " ", $ilosc_znakow)).'... <a href="http://link.do.artykulu/">Więcej</a>';
  7. }
  8. echo(skroc("tekst tekst tekst tekst tekst tekst tekst tekst", 4)."<br>");
  9. echo(skroc_pelne_wyrazy("tekst tekst tekst tekst tekst tekst tekst tekst", 8));
  10. ?>


A w java script:
  1.  
  2. <div id="elementdiv">tekst krotki... </div><a href="java script:;" onclick="if(this.innerHTML == 'ukryj') { document.getElementById('elementdiv').innerHTML = 'tekst krotki...'; this.innerHTML = 'więcej'; } else { document.getElementById('elementdiv').innerHTML = 'tekst dlugi tekst tekst tekst tekst tekst'; this.innerHTML = 'ukryj'; }">więcej</a>
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.