02. juli 2001 - 19:55
Der er
7 kommentarer og 1 løsning
Beregn bredden i px eller pt på en bid tekst.
Jeg mangler en funktion der kan fortælle mig hvor mange pt eller pixels en tekst er i bredden ud fra font-face og font-size. Eks. hvor mange pixels fylder \"Dette er noget tekst\" i fonten Verdana og størrelsen 8px. Hvordan beregnes dette ?
Annonceindlæg fra Admin By Request
Puah, den eneste måde du kan gøre det på er ved at smide det på skærmen i et element og derefter måle dets bredde. function SizeOfText(sText,sFace,sSize){ if (!window.SOTMeter){ document.body.insertAdjacentHTML(\"beforeEnd\",\'<div id=SOTMeter style=\"position:absolute;left:1000000px;font-family:\' + sFace + \';font-size:\' + sSize + \'\"></div>\'); } else { SOTMeter.style.fontFamily = sFace; SOTMeter.style.fontSize = sSize; } return SOTMeter.offsetWidth } hvadFylderDet = SizeOfText(\"noget tekst der står her\",\"Verdana\",\"8px\"); alert(hvadFylderDet); /Thor
Whoops, det skulle selvf. være function SizeOfText(sText,sFace,sSize){ if (!window.SOTMeter){ document.body.insertAdjacentHTML(\"beforeEnd\",\'<div id=SOTMeter style=\"position:absolute;left:1000000px;font-family:\' + sFace + \';font-size:\' + sSize + \'\">\' + sText + \'</div>\'); } else { SOTMeter.innerText = sText SOTMeter.style.fontFamily = sFace; SOTMeter.style.fontSize = sSize; } return SOTMeter.offsetWidth } Glemte lige teksten ;) /Thor
Jumper > Som altid har du vist dig som en sand JS-Jedi :o) A sæjer manne tak !!
wauw, virkede det ? :D Jeg nåede ikke at teste selv *G* /Thor
Der manglede et par ; og jeg vil hellere benytte visibility:hidden; end left:1zillionPx; men ellers virkede det helt perfekt :o)
I øvrigt har jeg tilføjet: if (!document.body) { document.write(..............................) } else { document.body.insertAdjacentHTML(......) } da jeg ikke altid har en document.body når jeg tester.
Thor >> Husk, verdensrummet krummer.....et par nuller til og div\'et kommer ind fra højre *ROTFL* /mvh
Vi tilbyder markedets bedste kurser inden for webudvikling