Fader script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fader script

    Ich such ein js scroller der von einer bestimmten anfangsfarbe zu einer endfarbe fadet, cross browser tauglichkeit vorrausgesetzt.

    Wenn irgentjemand soetwas hätte wäre ich ihm sehr zu dank verpflichtet.
    Gut mehr als einen feuchten Händedruck haste davon dann auch nicht aber immerhin.

    Dank euch
    timepoint5
    Möglich ist alles!

  • #2
    Code:
    //fade.js
    
    startColor = "#ffffff"; 
    endColor = "#000000"; 
    stepIn = 18; 
    stepOut = 18; 
    autoFade = true;  
    sloppyClass = true; 
    
    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; 
    }
    // ende fade.js
    
    // in die seite:
    <script src="fade.js"></script> 
    
    <body bgcolor=blue link=white> 
      <a href="http://blablubb.de/">blablubb</a> 
    </body>
    habs durch zufall in nem anderen forum gesehen ... vielleicht kannst du ja was damit anfangen
    Kissolino.com

    Kommentar


    • #3
      Danke dir, wenn das im NS laufen würde dann wäre es das was ich gebraucht hätte:-/
      Schwirrt in dem forum noch ne ns version rum?


      Gruss timepoint5
      Zuletzt geändert von timepoint5; 01.09.2003, 15:53.
      Möglich ist alles!

      Kommentar


      • #4
        nö, nicht wirklich

        aber googln kann nicht schaden
        http://www.google.de/search?q=fader+...-8&hl=de&meta=
        Kissolino.com

        Kommentar


        • #5
          Du bist ja goldig, was glaubst du denn wielange ich schon suche:-D

          Ich gestehe dumm wie ich bin hab ich mir einen geschnappt der angeblich crossbrowser funktional war, cool nen backend dazu gemacht. War auch noch schön umständlich( ich poste des mal demnächst ), dann mal die fertige seite im NS angekuckt

          Aus fehleren lernt man....

          Unglaublich , ich hab was gefunden was zuminderst auf ie6 und ns7, hoffentlich läuft der auch auf ältere browser.

          http://www.warpgear.com/developer/jsdemo.html


          gruss timepoint5
          Möglich ist alles!

          Kommentar


          • #6
            Original geschrieben von timepoint5
            Du bist ja goldig, was glaubst du denn wielange ich schon suche:-D
            lies im forum mal quer, dann ist der tipp gar nicht so abwegig

            immerhin kann ich bestätigen, dass dein script ^^ auf meiner alten krücke
            ns4.72 läuft ... damit sollte der rest demit auch umgehen können.
            Kissolino.com

            Kommentar


            • #7
              lies im forum mal quer, dann ist der tipp gar nicht so abwegig



              Recht hast du! Ich hab als mod gestern ne email bekommen ob ich nicht ausführlich zu folgenden fragen anworten können. Fragen die absolute basics waren der user sie selbst ad absurdum geführt hat und noch per google und such funktion bequem auffindbar.


              ------
              Abreg.

              Wenn er auf dem NS 4.72 läuft und auf dem NS.7 -- Perfekt.
              Danke schön

              Gruss timepoint5
              Möglich ist alles!

              Kommentar

              Lädt...
              X