Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - calcolare la dimensione di un testo
Forum - Javascript - calcolare la dimensione di un testo

Avatar
dotNET (Member)
Rookie


Messaggi: 26
Iscritto: 13/09/2010

Segnala al moderatore
Postato alle 15:07
Sabato, 09/07/2011
Questo topic è stato chiuso dal moderatore

Salve avrei bisogno di un sistema per calcolare nel modo più preciso possibile la larghezza di un testo avendo il numero di caratteri, il font utilizzato, la dimensione del carattere e il testo vero e proprio... Ho bisogno della larghezza del testo prima che sia inserito concretamente nel body quindi ce da escludere subito funzioni come $("#nomeid").css("width"); o altre funzioni..
Avrei bisogno di una sorta di array che indica ogni lettera del font quanti pixel è larga oppure una funzione già esistente che non conosco che mi restituisca subito la larghezza.


Perito informatico diplomato all' ITI Majorana Grugliasco ( TO ) 2010/2011
Punteggio finale : 77 / 100
linguaggi conosciuti : VB.NET, C#, C, C++, JAVA, JS, ACTION SCRIPT 3.0, PHP, ASP.NET, VB6
Lavora in DORODESIGN - www.siamodoro.com
PM
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 15:35
Sabato, 09/07/2011


PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 13:07
Domenica, 10/07/2011
Puoi usare jQuery anche senza inserire l'elemento nel documento:
Codice sorgente - presumibilmente Plain Text

  1. $("<div id='nomeid' style='...'>testo</div>").width()


L'operatore jQuery, se non riceve una query css come parametro, ma una stringa html, crea l'elemento html corrispondente al codice dato. Dopodiché puoi invocare width() dall'oggetto creato.

Nota che .css("width") restituisce la proprietà width() impostata nel css. Se nel foglio di stile non viene menzionata, restituisce "auto". Invece width() restituisce sempre la larghezza effettiva.

Grazie Totem ottima soluzione - dotNET - 11/07/11 11:02
hei totem, ho provato cosi' : - dotNET - 11/07/11 12:26
ops volevo andare a capo, cmq, ho provato cosi : var w2=$("<p class='key' style='position:absolute; font-size:"+h+"px;'>"+keys[index]+"</p>").width(); xo mi dice k è 0. non penso funzioni se non viene inserito l'elemento html nel dom. - dotNET - 11/07/11 12:27
Puoi inserirlo come elemento invisibile - Il Totem - 11/07/11 12:29
lo so totem ma lavorare con il dom rallenta molto l' esecuzione degli script, io quest operazione di calcolare la width la devo fare un centinaio di volte in uno script quindi avrei bisogno di una funzione k mi dia solo la larghezza del paragrafo senza che venga creato un oggetto html. - dotNET - 11/07/11 15:47
C'est la vie - Il Totem - 12/07/11 10:26


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM