| 
 كيف تجعل الروابط تتغير إلى ألوان قوس قزح عند مرور مؤشر الفأرة عليها؟
 بسم الله الرحمن الرحيم 
 
 
 كيف تجعل الروابط تتغير إلى ألوان قوس قزح عند مرور مؤشر الفأرة عليها؟
في هذا الدرس سأشرح طريقة تجعل الرابط يتغير بألوان قوس قزح (أحمر،أصفر،أزرق..) عند مرور مؤشر الفأرة عليه.
*ملاحظة: هذه الخاصية تعمل على بلوجر والمواقع العادية.
 مثال مباشر: 
اضغط هنا 
قم بالتأشير على أحد عناوين التدوينات ولاحظ كيف سيتغير.
طريقة التركيب:  اذهب إلى صفحة تحكم مدونتك.اضغط على قالب.ثم اضغط على تحرير HTML.ثم ابحث عن </head>وضع الكود التالي قبله:
  
	كود بلغة HTML: 
  <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>
 
 انتهى الشرح
 
إذا أعجبك الدرس.. ضع تعليق في المدونة ولا تنسى عمل مشاركة :)
الموضوع الأصلي: http://bloggerinar.blogspot.com/2014...hen-hover.html 
يمنع النقل بدون ذكر المصدر
 |