• 14-11-2009, 19:50:26
    #1
    Üyeliği durduruldu
    Blog içerisinde bulunan bağlantı linklerinin üzerine mouse ile gelindiğinde sarı/mavi/yeşil/mor ve daha pek çok renk tonunda tıpkı bir siren gibi renk değiştiren linkleriniz olsun istemez misiniz?

    Cevap "evet" ise yapmamız gereken sadece bir JavaScript kodunu HTML'mize eklemek olacak.

    Öncelikle CTRL + F kombinasyonu ile </head> etiketini aratıyoruz. Ardından bu etiketten önce aşağıdaki JS kodlarını kopyalayıp yapıştırıyoruz.

    Sonrasında şablonu kayıt ediyoruz. İşte hepsi bu kadar.

    <script type='text/javascript'>
    
     //<![CDATA[
    
     var rate = 20;
    
     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;
      }
    
     function doRainbow(obj)
      {
      if (act == 0) {
      act = 1;
      if (obj)
      objActive = obj;
      else
      objActive = event.srcElement;
      clrOrg = objActive.style.color;
      TimerID = setInterval("ChangeColor()",100);
      }
      }
    
    
     function stopRainbow()
      {
      if (act) {
      objActive.style.color = clrOrg;
      clearInterval(TimerID);
      act = 0;
      }
      }
    
    
     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);
      }
      }
      }
    
    
     function stopRainbowAnchor()
      {
      if (act) {
      if (objActive.tagName == 'A') {
      objActive.style.color = clrOrg;
      clearInterval(TimerID);
      act = 0;
      }
      }
      }
    
    
     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);
      }
      }
      }
    
    
     function Mozilla_stopRainbowAnchor(e)
      {
      if (act) {
      if (objActive.nodeName == 'A') {
      objActive.style.color = clrOrg;
      clearInterval(TimerID);
      act = 0;
      }
      }
      }
    
    
     function ChangeColor()
      {
      objActive.style.color = makeColor();
      }
    
    
     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>
    Bilgi: Js kodları içerisinde bulunan "var rate = 20" kısmındaki 20 sayısını isteğe göre değiştirebilirsiniz. Bu link üzerine gelindiğindeki renk dönüşüm hızını yavaşlatıp/hızlandıracaktır.

    Demo ve Yazının Kaynağı için Tıklayınız.

    Anlatım bana aittir.
  • 14-11-2009, 19:58:41
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    teşekkürler hocam.... işe yarayabilir blogumda
  • 14-11-2009, 21:29:05
    #3
    teşekkürler +rep
  • 14-11-2009, 21:41:15
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bunu bir ara bende sitemde kullanıyordum.Ama siteyi yavaşlattığı için kaldırmıştım.

    Teşekkürler.
  • 14-11-2009, 22:50:51
    #5
    Üyeliği durduruldu
    Bydvt_ adlı üyeden alıntı: mesajı görüntüle
    Bunu bir ara bende sitemde kullanıyordum.Ama siteyi yavaşlattığı için kaldırmıştım.

    Teşekkürler.
    Bende herhangi bir yavaşlama olmadı

    Teşekkürler yorum için.
  • 14-11-2009, 22:51:56
    #6
    tabuhan adlı üyeden alıntı: mesajı görüntüle
    Bende herhangi bir yavaşlama olmadı

    Teşekkürler yorum için.
    Yoo benim o zamnlar sitede çok script vardı her önüme geleni eklemiştim sonra baktım çok yavaş oldu çoğusunu kaldırdım.Buda onlardan birisiydi