Link arcobaleno

« Older   Newer »
 
  Share  
.
  1. Xx»@Lui199909@«xX®
     
    .

    User deleted


    Questo codice, da inserire in "Codici HTML - In fondo al forum" vi permetterà di inserire l'effetto arcobaleno ai links dei vostri forum/delle vostre skins; è compatibile con Internet Explorer, Firefox, Chrome, ecc, a differenza della vecchia versione pubblicata al Supporto (ormai rimossa)
    CODICE
    <script type="text/javascript">
    ////////////////////////////////////////////////////////////////////
    // Setting

    var rate = 20; // Increase amount(The degree of the transmutation)

    ////////////////////////////////////////////////////////////////////
    // Main routine
    if (document.getElementById)
    window.onerror=new Function("return true")

    var objActive; // The object which event occured in
    var act = 0; // Flag during the action
    var elmH = 0; // Hue
    var elmS = 128; // Saturation
    var elmV = 255; // Value
    var clrOrg; // A color before the change
    var TimerID; // Timer ID

    if (document.all) {
    document.onmouseover = doRainbowAnchor;
    document.onmouseout = stopRainbowAnchor;
    }
    else if (document.getElementById) {
    document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
    document.onmouseover = Mozilla_doRainbowAnchor;
    document.onmouseout = Mozilla_stopRainbowAnchor;
    }

    //=============================================================================
    // doRainbow
    // This function begins to change a color.
    //=============================================================================
    function doRainbow(obj)
    {
    if (act == 0) {
    act = 1;
    if (obj)
    objActive = obj;
    else
    objActive = event.srcElement;
    clrOrg = objActive.style.color;
    TimerID = setInterval("ChangeColor()",100);
    }
    }

    //=============================================================================
    // stopRainbow
    // This function stops to change a color.
    //=============================================================================
    function stopRainbow()
    {
    if (act) {
    objActive.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;
    }
    }


    //=============================================================================
    // doRainbowAnchor
    // This function begins to change a color. (of a anchor, automatically)
    //=============================================================================
    function doRainbowAnchor()
    {
    if (act == 0) {
    var obj = event.srcElement;
    while (obj.tagName != 'A' && obj.tagName != 'BODY') {
    obj = obj.parentElement;
    if (obj.tagName == 'A' || obj.tagName == 'BODY')
    break;
    }

    if (obj.tagName == 'A' && obj.href != '') {
    objActive = obj;
    act = 1;
    clrOrg = objActive.style.color;
    TimerID = setInterval("ChangeColor()",100);
    }
    }
    }


    //=============================================================================
    // stopRainbowAnchor
    // This function stops to change a color. (of a anchor, automatically)
    //=============================================================================
    function stopRainbowAnchor()
    {
    if (act) {
    if (objActive.tagName == 'A') {
    objActive.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;
    }
    }
    }


    //=============================================================================
    // Mozilla_doRainbowAnchor(for Netscape6 and Mozilla browser)
    // This function begins to change a color. (of a anchor, automatically)
    //=============================================================================
    function Mozilla_doRainbowAnchor(e)
    {
    if (act == 0) {
    obj = e.target;
    while (obj.nodeName != 'A' && obj.nodeName != 'BODY') {
    obj = obj.parentNode;
    if (obj.nodeName == 'A' || obj.nodeName == 'BODY')
    break;
    }

    if (obj.nodeName == 'A' && obj.href != '') {
    objActive = obj;
    act = 1;
    clrOrg = obj.style.color;
    TimerID = setInterval("ChangeColor()",100);
    }
    }
    }


    //=============================================================================
    // Mozilla_stopRainbowAnchor(for Netscape6 and Mozilla browser)
    // This function stops to change a color. (of a anchor, automatically)
    //=============================================================================
    function Mozilla_stopRainbowAnchor(e)
    {
    if (act) {
    if (objActive.nodeName == 'A') {
    objActive.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;
    }
    }
    }


    //=============================================================================
    // Change Color
    // This function changes a color actually.
    //=============================================================================
    function ChangeColor()
    {
    objActive.style.color = makeColor();
    }


    //=============================================================================
    // makeColor
    // This function makes rainbow colors.
    //=============================================================================
    function makeColor()
    {
    // Don't you think Color Gamut to look like Rainbow?

    // HSVtoRGB
    if (elmS == 0) {
    elmR = elmV; elmG = elmV; elmB = elmV;
    }
    else {
    t1 = elmV;
    t2 = (255 - elmS) * elmV / 255;
    t3 = elmH % 60;
    t3 = (t1 - t2) * t3 / 60;

    if (elmH < 60) {
    elmR = t1; elmB = t2; elmG = t2 + t3;
    }
    else if (elmH < 120) {
    elmG = t1; elmB = t2; elmR = t1 - t3;
    }
    else if (elmH < 180) {
    elmG = t1; elmR = t2; elmB = t2 + t3;
    }
    else if (elmH < 240) {
    elmB = t1; elmR = t2; elmG = t1 - t3;
    }
    else if (elmH < 300) {
    elmB = t1; elmG = t2; elmR = t2 + t3;
    }
    else if (elmH < 360) {
    elmR = t1; elmG = t2; elmB = t1 - t3;
    }
    else {
    elmR = 0; elmG = 0; elmB = 0;
    }
    }

    elmR = Math.floor(elmR)*toString(16);
    elmG = Math.floor(elmG)*toString(16);
    elmB = Math.floor(elmB)*toString(16);
    if (elmR.length == 1) elmR = "0" + elmR;
    if (elmG.length == 1) elmG = "0" + elmG;
    if (elmB.length == 1) elmB = "0" + elmB;

    elmH = elmH + rate;
    if (elmH >= 360)
    elmH = 0;

    return '#' + elmR + elmG + elmB;
    }

    </script>
    <script type="text/javascript">var rate = 20 // Increase amount(The degree of the transmutation)
    var obj // The object which event occured in
    var act = 0 // Flag during the action
    var elmH = 0 // Hue
    var elmS = 128 // Saturation
    var elmV = 255 // Value
    var clrOrg // A color before the change
    var TimerID // Timer ID

    if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt(navigator.appVersion) >= 4) {Browser = true} else {Browser = false}if (Browser) {document.onmouseover = doRainbowAnchor; document.onmouseout = stopRainbowAnchor}function doRainbow(){if (Browser && act != 1) {act = 1; obj = event.srcElement; clrOrg = obj.style.color;TimerID = setInterval("ChangeColor()",100)}}function stopRainbow(){if (Browser && act != 0) {obj.style.color = clrOrg; clearInterval(TimerID); act = 0}}function doRainbowAnchor(){if (Browser && act != 1) {obj = event.srcElement; while (obj.tagName != 'A' && obj.tagName != 'BODY') {obj = obj.parentElement; if (obj.tagName == 'A' || obj.tagName == 'BODY')break}if (obj.tagName == 'A' && obj.href != '') {act = 1; clrOrg = obj.style.color; TimerID = setInterval("ChangeColor()",100)}}}function stopRainbowAnchor(){if (Browser && act != 0) {if (obj.tagName == 'A') {obj.style.color = clrOrg; clearInterval(TimerID); act = 0}}}function ChangeColor(){obj.style.color = makeColor()}function makeColor(){if (elmS == 0) {elmR = elmV; elmG = elmV; elmB = elmV}else {t1 = elmV; t2 = (255 - elmS) * elmV / 255; t3 = elmH % 60; t3 = (t1 - t2) * t3 / 60; if (elmH < 60) {elmR = t1; elmB = t2; elmG = t2 + t3}else if (elmH < 120) {elmG = t1; elmB = t2; elmR = t1 - t3}else if (elmH < 180) {elmG = t1; elmR = t2; elmB = t2 + t3}else if (elmH < 240) {elmB = t1; elmR = t2; elmG = t1 - t3}else if (elmH < 300) {elmB = t1; elmG = t2; elmR = t2 + t3}else if (elmH < 360) {elmR = t1; elmG = t2; elmB = t1 - t3}else {elmR = 0; elmG = 0; elmB = 0}}elmR = Math.floor(elmR); elmG = Math.floor(elmG); elmB = Math.floor(elmB); clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString(16); elmH = elmH + rate; if (elmH >= 360)elmH = 0; return clrRGB}</script>
     
    .
0 replies since 2/4/2012, 19:30   19 views
  Share  
.