exia109
07-31-2008, 06:49 AM
Hi Guys,
I'm new here.
I got this code here form this site. This code fades-in something gradually (a div, image, etc.) when you mouseover a link. So I edited it, so that when you mouseout of the link it fades out. problem is it's working fine for IE and Mozilla, but it's not working for Safari. Well the fade out in safari is working smoothly, but the fade in part is not.
Here's the code:
<html>
<head>
<style type="text/css">
.gradualshine{
filter:alpha(opacity=0);
-moz-opacity:0.0;
opacity:0;
}
</style>
<script type="text/javascript">
/***********************************************
* Gradual Highlight image script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
var baseopacity=0
function slowhigh(which2){
imgobj=which2
browserdetect=which2.filters? "ie" : typeof which2.style.MozOpacity=="string"? "mozilla" : ""
instantset(baseopacity)
highlighting=setInterval("gradualfade(imgobj)",30)
}
function slowlow(which2){
cleartimer()
//instantset(100)
highlighting=setInterval("gradualfadeout(imgobj)",30)
}
function instantset(degree){
if (browserdetect=="mozilla")
imgobj.style.MozOpacity=degree/100
else if (browserdetect=="ie")
imgobj.filters.alpha.opacity=degree
else if (this.navigator.vendor.indexOf('Apple') == 0)
imgobj.style.opacity=degree/100
}
function cleartimer(){
if (window.highlighting) clearInterval(highlighting)
}
function gradualfade(cur2){
if (browserdetect=="mozilla" && cur2.style.MozOpacity<.8)
cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.1, 0.99)
else if (browserdetect=="ie" && cur2.filters.alpha.opacity<80)
cur2.filters.alpha.opacity+=10
else if (this.navigator.vendor.indexOf('Apple') == 0 && cur2.style.opacity < .9)
cur2.style.opacity+=.5 //////////this is the part where everything went wrong
else if (window.highlighting)
clearInterval(highlighting)
}
function gradualfadeout(cur2){
if (browserdetect=="mozilla" && cur2.style.MozOpacity>0)
cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)-0.1, 0.9)
else if (browserdetect=="ie" && cur2.filters.alpha.opacity>0)
cur2.filters.alpha.opacity-=10
else if (this.navigator.vendor.indexOf('Apple') == 0 && cur2.style.opacity > 0)
cur2.style.opacity-=.1
else if (window.highlighting)
clearInterval(highlighting)
}
</script>
</head>
<body>
<table>
<tr>
<td width="276" height="110" background="http://www.google.com/intl/en_ALL/images/logo.gif">
<div id="test" class="gradualshine" style="width:600px; height:450px; font-weight:bold; color:#FFFFFF; background:#000000;"> test caption </div>
</td>
</tr>
</table>
<a href="#" onMouseover="slowhigh(test)" onMouseout="slowlow(test)">test</a><br>
</body>
</html>
It seems in the gradualfade function, the line :
else if (this.navigator.vendor.indexOf('Apple') == 0 && cur2.style.opacity < .9)
cur2.style.opacity+=.5
is not looping, it should add .5 to the opacity until it exceeds .9
The weird thing is, in the gradualfadeout function, it's working perfectly.
Any input would be appreciated.
I'm new here.
I got this code here form this site. This code fades-in something gradually (a div, image, etc.) when you mouseover a link. So I edited it, so that when you mouseout of the link it fades out. problem is it's working fine for IE and Mozilla, but it's not working for Safari. Well the fade out in safari is working smoothly, but the fade in part is not.
Here's the code:
<html>
<head>
<style type="text/css">
.gradualshine{
filter:alpha(opacity=0);
-moz-opacity:0.0;
opacity:0;
}
</style>
<script type="text/javascript">
/***********************************************
* Gradual Highlight image script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
var baseopacity=0
function slowhigh(which2){
imgobj=which2
browserdetect=which2.filters? "ie" : typeof which2.style.MozOpacity=="string"? "mozilla" : ""
instantset(baseopacity)
highlighting=setInterval("gradualfade(imgobj)",30)
}
function slowlow(which2){
cleartimer()
//instantset(100)
highlighting=setInterval("gradualfadeout(imgobj)",30)
}
function instantset(degree){
if (browserdetect=="mozilla")
imgobj.style.MozOpacity=degree/100
else if (browserdetect=="ie")
imgobj.filters.alpha.opacity=degree
else if (this.navigator.vendor.indexOf('Apple') == 0)
imgobj.style.opacity=degree/100
}
function cleartimer(){
if (window.highlighting) clearInterval(highlighting)
}
function gradualfade(cur2){
if (browserdetect=="mozilla" && cur2.style.MozOpacity<.8)
cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.1, 0.99)
else if (browserdetect=="ie" && cur2.filters.alpha.opacity<80)
cur2.filters.alpha.opacity+=10
else if (this.navigator.vendor.indexOf('Apple') == 0 && cur2.style.opacity < .9)
cur2.style.opacity+=.5 //////////this is the part where everything went wrong
else if (window.highlighting)
clearInterval(highlighting)
}
function gradualfadeout(cur2){
if (browserdetect=="mozilla" && cur2.style.MozOpacity>0)
cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)-0.1, 0.9)
else if (browserdetect=="ie" && cur2.filters.alpha.opacity>0)
cur2.filters.alpha.opacity-=10
else if (this.navigator.vendor.indexOf('Apple') == 0 && cur2.style.opacity > 0)
cur2.style.opacity-=.1
else if (window.highlighting)
clearInterval(highlighting)
}
</script>
</head>
<body>
<table>
<tr>
<td width="276" height="110" background="http://www.google.com/intl/en_ALL/images/logo.gif">
<div id="test" class="gradualshine" style="width:600px; height:450px; font-weight:bold; color:#FFFFFF; background:#000000;"> test caption </div>
</td>
</tr>
</table>
<a href="#" onMouseover="slowhigh(test)" onMouseout="slowlow(test)">test</a><br>
</body>
</html>
It seems in the gradualfade function, the line :
else if (this.navigator.vendor.indexOf('Apple') == 0 && cur2.style.opacity < .9)
cur2.style.opacity+=.5
is not looping, it should add .5 to the opacity until it exceeds .9
The weird thing is, in the gradualfadeout function, it's working perfectly.
Any input would be appreciated.