Avatar billede mmmtm Nybegynder
07. september 2005 - 11:13 Der er 7 kommentarer og
1 løsning

alternativ til createRange()

Jeg bruger et script hvor en markeret tekst forstørrers ved brug af execCommand.
Den markerede tekst hentes ved:   
var sText = document.selection.createRange();

Jeg vil gerne springe markeringen over, da jeg altid ved hvor på siden teksten findes. Hvordan opretter jeg et handle til teksten som jeg kan sætte sText til ?
Avatar billede roenving Novice
07. september 2005 - 11:20 #1
Hvorfor så benytte execCommand, er det ikke lettere at sætte den bestemte tekst ind i f.eks. et span-tag og så ændre på style-properties for det ?-)

<span id="minTekst" style="font-size=x-small;">Denne tekst skal forstørres</span>

-- så have en javascript-funktion, som f.eks. gør:

<script type="text/javascript">
function enlarge(id){
  document.getElementById(id).style.fontSize = "larger";
}
</script>

<br><button onclick="enlarge('minTekst');">Forstør</button>
Avatar billede mmmtm Nybegynder
07. september 2005 - 11:46 #2
Jeg kender ikke nok til javascript til at vide hvad der er lettest (endnu)....Men dit ex. forstørrer kun een gang. Kan det ikke forstørrer fx. 5px pr gang ? Eller i steps fra nuv. størrelse og op til 7 som i execCommand ?
Avatar billede roenving Novice
07. september 2005 - 11:51 #3
Alt kan lykkes i en glasovn !o]

-- hvad ønsker du helst, en forstør/formindsk, som virker ligesom de indbyggede forntsizes fra 1 til 7 eller vil du helst have spring på et antal pixels (5 er dog et voldsomt stort tal !-)

-- koden skal nemlig skrives ret forskelligt !-)
Avatar billede mmmtm Nybegynder
07. september 2005 - 12:23 #4
Tjaee...med indbyggede fontsizes begrænses det jo, så med et spring på x antal pixels, med udgangspunkt i den font-str. som teksten har fra start, ville være ganske brugbart...:-)
Avatar billede roenving Novice
07. september 2005 - 12:36 #5
Problemet er så at aflæse størrelsen, hvis den ikke på forhånd er angivet i pixels eller måske er sat i et stylesheet, her benytter jeg mig bare af en tilfældig default-størrelse:

<span id="minTekst" style="font-size:x-small;">Denne tekst skal forstørres</span>

<script type="text/javascript">
function enlarge(id,cSize){
  var st = document.getElementById(id).style;
  var fSize = parseInt(st.fontSize,10);
  fSize = isNaN(fSize)?14:fSize;
  st.fontSize = fSize + cSize + "px";
}
</script>

<br><button onclick="enlarge('minTekst',2);">Forstør</button><button onclick="enlarge('minTekst',-2);">Formindsk</button>
Avatar billede mmmtm Nybegynder
07. september 2005 - 13:21 #6
Hvor kan det dog gøres enkelt...Takker mange gange - smid et svar.
Avatar billede roenving Novice
07. september 2005 - 13:23 #7
Velbekomme '-)
Avatar billede roenving Novice
07. september 2005 - 13:29 #8
-- og tak for point ;~}
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