Fade.js will jeden Link :)

BladeNeo

Erfahrenes Mitglied
Hallo,

ich habe eine fade.js in meine Homepage eingebaut um die Links schön aus und ein- "faden" zu lassen.
Die fade.js packt sich aber jeden Link den es gibt.. dass gefällt mir nicht so ich will sie eigentlich bloß auf das Menü begrenzen... ist dies möglich?

Die fade.js ist folgendermaßen aufgebaut:

Code:
startColor = "#000000";
endColor = "#2884EB";

stepIn = 15;
stepOut = 15;


autoFade = true;


sloppyClass = 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;

startColor = dehexize(startColor.toLowerCase());
endColor = dehexize(endColor.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 == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1))
        fade(startColor,endColor,srcElement.uniqueID,stepIn);
   }
}

function domouseout() {
  if (document.all){
          var srcElement = event.srcElement;
    if ((srcElement.tagName == "A" && autoFade) || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1))
        fade(endColor,startColor,srcElement.uniqueID,stepOut);
    }
}

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){
                setColor(sr,sg,sb,eval(fadeId[0]));
                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;
}

Vielen Dank im Vorraus.

MfG,
BladeNeo
 
Du hättest bei diesem Script vielleicht nicht die Erklärung, die in Kommentaren mitgeliefert wurde entfernen sollen...

Dann wüsstest du nämlich, dass du nur sloppyClass = true setzen musst.

Ich glaube, wenn sich jemand viel Mühe gibt, so ein Script zu schreiben, sollte man fairerweise das Copyright und die anderen Kommentare stehenlassen...

mfg
split
 
Hi!

Danke für die schnelle Antwort, hat so geklappt...

Ich hab das Script schon über ein Jahr und damals hab ich es von jemandem bekommen, der es ohne Kommentare überliefert hat. Hab jetzt auch nach google recherchen die Kommentare gefunden.

Hab eigentlich gedacht man müsste hier großartig umschreiben, weil das Script auf sowas nicht ausgelegt ist. :rolleyes:

MfG,
BladeNeo
 
Ich bin gerade auf das Script gestossen...
Ich würde es gerne mal ausprobieren da ich den Effekt schonmal gesehen habe. Leider bin ich absoluter JavaScript Newbie... Könntet Ihr mir den Link geben wo das Script beschrieben wird, bzw wo ich genau erfahre wie ich es einsetzen muss?!

Wäre super,
danke, Oli
 
Ich hab das Script mal eben mit Beschreibungen (englisch) als fade.txt angehängt.
Die Datei muss nur noch in fade.js umbenannt und mit <script language="JavaScript" src="fade.js"></script> in die HTML-Seite eingefügt werden. Alles wichtige steht im Script!
 

Anhänge

Neue Beiträge

Zurück