Avatar billede winkill Nybegynder
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 ?
Avatar billede jumper Nybegynder
02. juli 2001 - 20:01 #1
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
Avatar billede jumper Nybegynder
02. juli 2001 - 20:02 #2
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
Avatar billede winkill Nybegynder
02. juli 2001 - 20:22 #3
Jumper > Som altid har du vist dig som en sand JS-Jedi :o) A sæjer manne tak !!
Avatar billede jumper Nybegynder
02. juli 2001 - 20:27 #4
wauw, virkede det ? :D Jeg nåede ikke at teste selv *G*

/Thor
Avatar billede winkill Nybegynder
02. juli 2001 - 20:29 #5
Der manglede et par ; og jeg vil hellere benytte visibility:hidden; end left:1zillionPx; men ellers virkede det helt perfekt :o)
Avatar billede winkill Nybegynder
02. juli 2001 - 20:31 #6
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.
Avatar billede olebole Juniormester
02. juli 2001 - 20:33 #7
Thor >> Husk, verdensrummet krummer.....et par nuller til og div\'et kommer ind fra højre  *ROTFL*
/mvh
Avatar billede jumper Nybegynder
03. juli 2001 - 13:48 #8
olebole, *ROFL* ;-p

/Thor
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester