Avatar billede tblaster Nybegynder
24. marts 2005 - 23:46 Der er 2 kommentarer og
1 løsning

FADE SCRIPT der understøtter flere browser

Hejsa

Jeg fandt på et tidspunkt følgende fade script kode men den virker kun i IE. Er der nogen der kan fikse den til at understøtte flere browser eller er der nogen der har en kode der kan?

function setStyleById(i, p, v) {
    var n = window.document.getElementById(i);
    n.style[p] = v;
}

    /************** FADE SCRIPT V 3.1 *******************/

    var fadeColor = "#000000";
    var stepIn = 25;
    var stepOut = 500;

    autoFade = true; 
    sloppyClass = false;
    macCompat = false;

    hexa = new makearray(16);
    for(var i = 0; i < 10; i++)
        hexa[i] = i;
    hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
    hexa[13]="d"; hexa[14]="e"; hexa[15]="f";
   
    document.onmouseover = domouseover;
    document.onmouseout = domouseout;
   
    fadeColor = dehexize(fadeColor.toLowerCase());
   
    var fadeId = new Array();
   
    function dehexize(Color){
        var colorArr = new makearray(3);
        for (i=1; i<7; i++){
            for (j=0; j<16; j++){
                if (Color.charAt(i) == hexa[j]){
                    if (i%2 !=0)
                        colorArr[Math.floor((i-1)/2)]=eval(j)*16;
                    else
                        colorArr[Math.floor((i-1)/2)]+=eval(j);
                }
            }
        }
        return colorArr;
    }
   
    function domouseover() {
        if(document.all){
            var srcElement = event.srcElement;
            if ((srcElement.tagName == "A" && autoFade && srcElement.className != "nofade") || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) {
                    if (!srcElement.startColor) {
                        srcElement.startColor = (srcElement.style.color)? srcElement.style.color: srcElement.currentStyle.color;
                        srcElement.startColor = dehexize(srcElement.startColor.toLowerCase());
                    }
                    var link = (macCompat? srcElement.name: srcElement.uniqueID);
                    if (link) fade(srcElement.startColor,fadeColor,link,stepIn);               
                    else if (macCompat) alert("Error: Mac Compatility mode enabled, but link has no name.");
            }
        }
    }
   
    function domouseout() {
        if (document.all){
            var srcElement = event.srcElement;
            if ((srcElement.tagName == "A" && autoFade && srcElement.className != "nofade") || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) {
                var link = (macCompat? srcElement.name: srcElement.uniqueID);
                if (link) fade(fadeColor,srcElement.startColor,link,stepIn);
            }
        }
    }
   
    function makearray(n) {
        this.length = n;
        for(var i = 1; i <= n; i++)
            this[i] = 0;
        return this;
    }
   
    function hex(i) {
        if (i < 0)
            return "00";
        else if (i > 255)
            return "ff";
        else
          return "" + hexa[Math.floor(i/16)] + hexa[i%16];
    }
   
    function setColor(r, g, b, element) {
          var hr = hex(r); var hg = hex(g); var hb = hex(b);
          element.style.color = "#"+hr+hg+hb;
    }
   
    function fade(s,e,element,step) {
        var sr = s[0]; var sg = s[1]; var sb = s[2];
        var er = e[0]; var eg = e[1]; var eb = e[2];
       
        if (fadeId[0] != null && fade[0] != element && eval(fadeId[0])) {
            var orig = eval(fadeId[0]);
            setColor(orig.startColor[0],orig.startColor[1],orig.startColor[2],orig);
            var i = 1;
            while(i < fadeId.length) {
                clearTimeout(fadeId[i]);
                i++;
            }
        }
           
        for(var i = 0; i <= step; i++) {
            fadeId[i+1] = setTimeout("setColor(Math.floor(" +sr+ " *(( " +step+ " - " +i+ " )/ " +step+ " ) + " +er+ " * (" +i+ "/" +
                step+ ")),Math.floor(" +sg+ " * (( " +step+ " - " +i+ " )/ " +step+ " ) + " +eg+ " * (" +i+ "/" +step+
                ")),Math.floor(" +sb+ " * ((" +step+ "-" +i+ ")/" +step+ ") + " +eb+ " * (" +i+ "/" +step+ ")),"+element+");",i*step);
        }
        fadeId[0] = element;
    }

    /************** FADE SCRIPT V 3.1 END *******************/

//-->
Avatar billede roenving Novice
25. marts 2005 - 11:28 #1
-- min virker også i Gecko-browserne, men jeg har endnu ikke fået den ændret til også at dække css3-browserne: http://roenving.users.whitehat.dk/WD5Opacity.html !-)
Avatar billede tblaster Nybegynder
23. april 2005 - 13:16 #2
lukker
Avatar billede roenving Novice
24. april 2005 - 11:05 #3
Tak !-)
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