Wrox Home  
Search P2P Archive for: Go

  Return to Index  

javascript thread: Trouble with highlighting adn unhighlighting multiple objects on onmouseover()/onmouseout()


Message #1 by "whiteshadow" <db_apollo@y...> on Mon, 20 Jan 2003 13:57:28
Hi,

The main issue was that you were re-using global variables before the fade
in/out had finished e.g. 'highlighting', 'lowlighting' & 'theobject'
Try the following...

<html>

<head>
<script language=javaScript>
var intervals=new Object();

function high(img){
   id=img.id;
   if(intervals[id] != null){cancelInterval(intervals[id]);}
   intervals[id]=setInterval("highlightit(\"" + id + "\");", 1);
}


function low(img){
 id=img.id;
 if(intervals[id] != null){clearInterval(intervals[id]);}
 intervals[id]=setInterval("lowlightit(\"" + id + "\");", 1);
}

function highlightit(id){
 var img=document.getElementById(id);
 if(img.filters.alpha.opacity<100){
   img.filters.alpha.opacity+=5;
 }
 else{
  clearInterval(intervals[id]);
  intervals[id]=null;
 }
}

function lowlightit(id){
 var img=document.getElementById(id);
 if(img.filters.alpha.opacity>20){
  img.filters.alpha.opacity-=5;
 }
 else{
  clearInterval(intervals[id]);
  intervals[id]=null;
 }
}

</script>
<STYLE type=text/css>.im
{
   FILTER: alpha(opacity=20)
}
</STYLE>
</head>

<body bgcolor="black">
<div id="aragorn"
style="position:absolute;visibility:visible;top:50px;left:300px">
<img src="aragorn.jpg" class=im id=img1 onmouseover="high(this)"
onmouseout="low
(this)">
</div>
<div id="arwen"
style="position:absolute;visibility:visible;top:125px;left:25px">
<img src="arwen.jpg" class=im id=img2 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="frodo"
style="position:absolute;visibility:visible;top:250px;left:250px">
<img src="frodo.jpg" class=im id=img3 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="samwise"
style="position:absolute;visibility:visible;top:50px;left:500px">
<img src="samwise.jpg" class=im id=img4 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="merry"
style="position:absolute;visibility:visible;top:200px;left:500px">
<img src="merry.jpg" class=im id=img5 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="peregrin"
style="position:absolute;visibility:visible;top:350px;left:50px">
<img src="peregrin.jpg" class=im id=img6 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="gandalf"
style="position:absolute;visibility:visible;top:300px;left:450px">
<img src="gandalf.jpg" class=im id=img7 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="gimli"
style="position:absolute;visibility:visible;top:15px;left:95px">
<img src="gimli.jpg" class=im id=img8 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="legolas"
style="position:absolute;visibility:visible;top:150px;left:250px">
<img src="legolas.jpg" class=im id=img9 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="eomer"
style="position:absolute;visibility:visible;top:100px;left:140px">
<img src="eomer.jpg" class=im id=img10 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="eowyn"
style="position:absolute;visibility:visible;top:125px;left:575px">
<img src="eowyn.jpg" class=im id=img11 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="faramir"
style="position:absolute;visibility:visible;top:325px;left:300px">
<img src="faramir.jpg" class=im id=img12 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="boromir"
style="position:absolute;visibility:visible;top:250px;left:50px">
<img src="boromir.jpg" class=im id=img13 onmouseover="high(this);"
onmouseout="low
(this);">
</div>
<div id="theoden"
style="position:absolute;visibility:visible;top:135px;left:390px">
<img src="theoden.jpg" class=im id=img14 onmouseover="high(this);"
onmouseout="low
(this);">
</div>

<div id=debug style="color:yellow"></div>
</body>
</html>

HTH,

Chris


  Return to Index