Welcome Guest ( Log In | Register)



 
Reply to this topicStart new topic
> random link color
hellomyfriends
post Nov 25 2004, 04:43 AM
Post #1





Guests






move yr cursor to a link 4 detail after paste this script after <body> tag:

CODE
<script language="javascript">

var rate = 20;

var obj;

var act = 0;

var elmH = 0;

var elmS = 128;

var elmV = 255;

var clrOrg;

var TimerID;

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>
Go to the top of the page
 
+Quote Post
Anonymous
post Dec 29 2004, 07:35 AM
Post #2





Guests






Thanx Friend 4 Sharing This 4 Us !!
Go to the top of the page
 
+Quote Post
hellomyfriends
post Dec 29 2004, 02:50 PM
Post #3





Guests






You're welcome!I want to help people, tongue.gif tongue.gif ,I'm designing an website,welcome all,my friends. tongue.gif tongue.gif
Go to the top of the page
 
+Quote Post
Minisheep
post Jan 22 2005, 02:02 PM
Post #4





Guests






I have made it better.The Code can also work well both in Mozilla and IE now.
CODE


addEvent(window, "load", make);

var rate = 20;

var act = 0;

var elmH = 0;

var elmS = 128;

var elmV = 255;

var clrOrg;

var TimerID;

function addEvent(obj, evType, fn){

if (obj.addEventListener){

 obj.addEventListener(evType, fn, true);

 return true;

}else if (obj.attachEvent){

 var r = obj.attachEvent("on"+evType, fn);

 return r;

}else {

 return false;

}

}

function getParent(el, pTagName)

{

if (el == null) return null;

else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko bug, supposed to be uppercase

 return el;

else

 return getParent(el.parentNode, pTagName);

}

function make()

{

if(!document.createElementNS)

{

 document.createElementNS = function(ns,elt) {

  return document.createElement(elt);

 }

}

if(!document.links)

{

 document.links = document.getElementsByTagName("a");

}

for (var ti=0;ti<document.links.length;ti++) {

 var lnk = document.links[ti];

 addEvent(lnk,"mouseover",doRainbowAnchor);

 addEvent(lnk,"mouseout",stopRainbowAnchor);

 addEvent(lnk,"focus",doRainbowAnchor);

 addEvent(lnk,"blur",stopRainbowAnchor);

}

}

function doRainbowAnchor(e)

{

if (act != 1) {

 if (window.event && window.event.srcElement) {

  obj = window.event.srcElement;

 }

 else if (e && e.target) {

  obj = e.target;

 }

 if (!obj) return;

 if (obj.nodeType == 3) {

 // obj is a textnode -- ascend parents until we hit a link

  obj = getParent(lnk,"A");

 }

 if (!obj) return;

 act = 1;

 clrOrg = obj.style.color;

 TimerID = setInterval("ChangeColor(obj)",100);

}

}

function stopRainbowAnchor(e)

{

if (act != 0) {

 if (window.event && window.event.srcElement) {

  obj = window.event.srcElement;

 }

 else if (e && e.target) {

  obj = e.target;

 }

 if (!obj) return;

 if (obj.nodeType == 3) {

 // lnk is a textnode -- ascend parents until we hit a link

  obj = getParent(obj,"A");

 }

 if (!obj) return;

 obj.style.color = clrOrg;

 clearInterval(TimerID);

 act = 0;

}

}

function ChangeColor(obj)

{

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;

}



Go to the top of the page
 
+Quote Post
nareth
post Jan 22 2005, 02:12 PM
Post #5





Guests






can i see a live example please?
Go to the top of the page
 
+Quote Post
Minisheep
post Jan 22 2005, 02:28 PM
Post #6





Guests






OK
Here is a example page.
http://www.freewebs.com/yang1984/randcolor.html

In fact ,addEvent function in this script is very useful,it can replace some Event script, for example
CODE


window.onload=make;


Replace to:
CODE


addEvent(window, "load", make);


It both works well in Mozilla and IE.
Go to the top of the page
 
+Quote Post
hellomyfriends
post Jan 23 2005, 04:16 AM
Post #7





Guests






Good work ohmy.gif ,thanks!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

Collapse

> Similar Topics

Topics Topics
  1. 2 Gb Free For File Storage Or Web Hosting(12)
  2. Chibi Or Not? (anime Topic)(1)
  3. Chibi Or Not? (anime Topic)(5)
  4. Daddy Or Chips(3)
  5. Pay To Play Websites(4)
  6. FAQ link(1)
  7. webmaster resources and link(4)
  8. Hey there... Random here!(3)
  9. why can't we post gmail invites? (Now Contains Gmail Link)(3)
  10. Link(1)
  11. Link(1)
  12. How to add another link to top section of PHP-Nuke?(8)
  13. Ban Control Link(5)
  14. Iframe External Link (Javascript)(0)
  15. Random Here! New name!(10)
  1. Link to Rooller Coaster Tycoon 3(6)
  2. What Would You Walk On Rather?(11)
  3. Johnny's Random Facts: #1(25)
  4. It's A Random Thang(3)
  5. Anyway To Link Files From Your Harddrive To A Site?(4)
  6. Link Exchange(1)
  7. Link Exchange(3)
  8. Does This Link Work For You?(6)
  9. Link Swap With Me Please?(2)
  10. Do You Like George Bush(10)
  11. I Have Several Random Questions...(8)
  12. Domain Name Hyperlinking Question?(2)
  13. Random Thoughts(11)


 



- Lo-Fi Version Time is now: 23rd November 2008 - 09:31 AM