Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS]Długość tekstu
Snowak
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 2
Dołączył: 13.12.2007

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


Witam,
mam komórkę o szerokości 60px i chce, aby tekst jeżeli się w niej nie mieści został skrócony a na jego końcu dodawałoby się trzykropek, czyli np. z Alamakota Alama...

Problem jest taki, że nie można tutaj po prostu ustalić maksymalnej ilości znaków, bo znaki mają różną szerokość... Więc czy są w JS jakieś funkcje zwracające szerokość danego znaku (oczywiście podając jaka to czcionka)? A może da się to policzyć w jakiś prostszy sposób, np. korzystając z parametrów tej komórki?

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
GrayHat
post
Post #2





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


Witaj.
Obiekt div posiada atrybut offsetWidth

Kod
<div id="someDiv">
lorem ipsum lorem ipsum lorem ipsum
</div>

<script type="text/javascript">
alert(document.getElementById('someDiv').offsetWidth);
</script>


pokombinuj z tym (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Snowak
post
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 2
Dołączył: 13.12.2007

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


Cytat(GrayHat @ 27.01.2008, 20:06:32 ) *
Witaj.
Obiekt div posiada atrybut offsetWidth

Kod
<div id="someDiv">
lorem ipsum lorem ipsum lorem ipsum
</div>

<script type="text/javascript">
alert(document.getElementById('someDiv').offsetWidth);
</script>


pokombinuj z tym (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Ten parametr zdaje się nie zawsze jest obsługiwany przez IE. Ja użyłem czegoś takiego:
  1. var offset = (parseInt(document.getElementById(a).scrollWidth) - parseInt(curS = document.getElementById(a).clientWidth));

I jeżeli jest większe od 0 to tekst wystaje... i wtedy w pętli while odejmuje po znaku aż nie będzie wystawać, kasuje jeszcze 3 ostatnie znaki i wstawiam '...'

Działa pięknie (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Dzięki za sugestie
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 04:19