Avatar billede pollas Nybegynder
01. april 2003 - 18:48 Der er 3 kommentarer og
1 løsning

XHTML 1.0 strict-venligt mouseover script

Jeg har følgende ganske simple mouseover script (vistnok et ImageReady 7.o output), der virker ganske fortrinligt, men gør det umuligt at validere mod xhml 1.0 strcit, da det baserer sig på name-atributten i img-tagget.

<script type="text/javascript">
<!--
function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}

function changeImages_org() {
    if (document.images && (preloadFlag == true)) {
        for (var i=0; i<changeImages.arguments.length; i+=2) {
            document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
        }
    }
}

var preloadFlag = false;
function preloadImages() {
    if (document.images) {
        menu_01_over = newImage("images/menu_01-over.png");
        menu_02_over = newImage("images/menu_02-over.png");
        menu_03_over = newImage("images/menu_03-over.png");
        menu_04_over = newImage("images/menu_04-over.png");
        menu_05_over = newImage("images/menu_05-over.png");
        preloadFlag = true;
    }
}
// -->
</script>

Jeg forestiller mig, at løsningen må være at bruge en id-attribut og anvende getElemtnByID i scriptet, men ville først lige høre, om jeg har ret i den antagelse - om om der evt. allerede findes færdige løsninger på det problem.

På forhånd tak.
Avatar billede pollas Nybegynder
01. april 2003 - 19:08 #1
Den midterste funktion hedder selvfølgelig changeImages og ikke changeImages_org - sorry...
Avatar billede olebole Juniormester
01. april 2003 - 22:02 #2
<ole>

function changeImages() {
    if (document.images && (preloadFlag == true)) {
        for (var i=0; i<changeImages.arguments.length; i+=2) {
            document.getElementsById(changeImages.arguments[i]).src = changeImages.arguments[i+1];
        }
    }
}

Så kalder du via 'id', i stedet for via 'name'
/mvh
</bole>
Avatar billede olebole Juniormester
01. april 2003 - 22:04 #3
Fårrrk ... der smuttede et 's' for meget ind. Sådan skal linien se ud:
  document.getElementById(changeImages.arguments[i]).src = changeImages.arguments[i+1];

Ikke 'getElementsById' - men 'getElementById'  ;o)
Avatar billede pollas Nybegynder
01. april 2003 - 22:18 #4
Supercool - mange tak! Jeg må vist have haft rodet rundt i []-klammerne :)
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