Avatar billede theselfimages Nybegynder
21. januar 2010 - 15:02 Der er 8 kommentarer og
1 løsning

Omskrivning af OnFocus script

Hvordan kan jeg omskrive dette onFocus blur script til at fange alle billedknapper på en side i stedet for A tags?

<script language="javascript" type="text/javascript">
<!--
blurAnchors = function(){
  if(document.getElementsByTagName){
    var a = document.getElementsByTagName("a");
    for(var i = 0; i < a.length; i++){
      a[i].onfocus = function(){this.blur()};
    }
  }
}
window.onload = blurAnchors;

// -->
</script>
Avatar billede intenz Novice
21. januar 2010 - 15:11 #1
var a = document.getElementsByTagName("a");

til
var a = document.getElementsByTagName("img");

?
Avatar billede intenz Novice
21. januar 2010 - 15:12 #2
Alternativt kan du sætte samme navn på alle dine 'billedknapper' og så skifte det til:
var a = document.getElementsByName("navnet");
Avatar billede theselfimages Nybegynder
21. januar 2010 - 15:22 #3
Det virker desværre ikke.

Jeg prøver at ramme det billeder der hedder next.gif og next_active.gif i scriptet på løsningen her: http://helenenyborg.contigocms.dk/Test.9.aspx
Avatar billede intenz Novice
21. januar 2010 - 15:50 #4
Det var da også et vanvittigt rod af javascript du har til den smule galleri. Det er virkelig skidt script du har der!

Men jeg vil gerne give det et forsøg, prøv at se om det her virker.

function thumbnailsEvents() {
    thumbnailDiv = document.getElementById('thumb-container-inner');
    if (thumbnailDiv != undefined) {
        thumbnails = thumbnailDiv.getElementsByTagName('img');
        for (var i=0; i<thumbnails.length; i++) {
            // gør noget med vores thumbnails
            thumbnails[i].onfocus = function(){this.blur()};
        }
    }
}
setTimeout(thumbnailsEvents, 100);
Avatar billede theselfimages Nybegynder
21. januar 2010 - 15:58 #5
Hey! Det virker faktisk! Fedt!

Hvorfor er det en setTimeout der udløser funktionen?
Avatar billede Slettet bruger
21. januar 2010 - 16:15 #6
Hvad er hele idéen med at blur're links ?

Jeg ku' forstå det hvis det var input-felter, som brugeren skal holde snitterne fra, men links, hvorfor ?
Avatar billede theselfimages Nybegynder
21. januar 2010 - 16:22 #7
Idéen er at fjerne den stiplede boks/kasse der kommer rundt om billedlinks'ne når man klikker på dem. Især i Safari browser er denne boks/kasse uskøn at se på.
Avatar billede intenz Novice
21. januar 2010 - 16:34 #8
Det var da godt :) Jeg lægger et svar.

Den bruger setTimeout, så funktionen først bliver kørt 100ms efter siden er indlæst. Det er fordi alt dit javascript-rod først skal gøres igennem inden elementerne findes i koden. Så de 100ms sikrer, at elementerne er blevet indlæst på siden inden funktionen køres.

At den er 100 var bare et gæt, du kan prøve at sætte den op eller ned hvis du har lyst :)
Avatar billede theselfimages Nybegynder
21. januar 2010 - 16:39 #9
Tak! Det er ikke mig der har noget med det galleri script at gøre. Det er ikke optimalt og også kun i en beta version. Men tak for hjælpen.
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