Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5

Jak uzyskać kolorowy link mieniący się kolorami tęczy? Javascript

#1
Witam po bardzo długiej nieobecności. Natrafiłam na stronie Element ukryty. Rejestracja zajmie tylko minutę! na nietypowe linki. Otóż za pomocą skryptu, czy jak to tam się zowie tj.
Kod:
<script src="http://scjenaa.fm.interia.pl/tecza.js"></script>

linki mienią się kolorami tęczy. Chciałabym uzyskać podobny efekt u siebie, ale zamiast tak tęczowych kolorów wybrać stonowane kolory tj. odcienie szarości. Problem w tym, że kompletnie nie znam się na J‌avaScriptSmile Podobno wygląda to tak:

Kod:
[size=75]//=============================================================================
// 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;
}[/SIZE]    
Czy ktoś się orientuje, co muszę tu zmienić by uzyskać efekt mieniących się linków, ale w kilku odcieniach szarości? Big Grin
Ps. Przypominam, że laik ze mnie i potrzebuję, aby ktoś mnie poprowadził przez to krok po kroku.Dodgy
#2
Akurat w JS też nic nie robiłem, ale jedno wiem na pewno - jeśli chcesz mieć odcienie szarości, to musisz tak przerobić, żeby wszystkich 3 kolorów było po tyle samo.

Spróbuj np. ostatnia linijkę zmienić na:
Kod:
return '#' + elmR + elmR + elmR;
  


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Przekierowanie domeny maskowanie i proste jak uzyskać subdomeny z plikami? vacu 0 268 30.08.2005 14:59
Ostatni post: vacu

Skocz do:


Użytkownicy przeglądający ten wątek:
1 gości