Влепил небольшой Java скрипт для Tool Tip. Он постепенно проявляет объект
<script language="JavaScript">
var hT, sT;
function SmoothShow(objId, x)
{
var obj = document.getElementById(objId);
op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op < x)
{
clearTimeout(hT);
op += 0.1;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
sT=setTimeout('SmoothShow(\''+objId+'\', '+x+')',50);
}
}
function SmoothHide(objId, x)
{
var obj = document.getElementById(objId);
op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op > x)
{
clearTimeout(sT);
op -= 1;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
hT=setTimeout('SmoothHide(\''+objId+'\', '+x+')',50);
}
}
</script>
var hT, sT;
function SmoothShow(objId, x)
{
var obj = document.getElementById(objId);
op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op < x)
{
clearTimeout(hT);
op += 0.1;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
sT=setTimeout('SmoothShow(\''+objId+'\', '+x+')',50);
}
}
function SmoothHide(objId, x)
{
var obj = document.getElementById(objId);
op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op > x)
{
clearTimeout(sT);
op -= 1;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
hT=setTimeout('SmoothHide(\''+objId+'\', '+x+')',50);
}
}
</script>
Скрипт работает в Opera и Ff (правда медленно как-то), но при этом Отказывается работать в Chrome и Safari. В этих браузерах срабатывает только раз. Не могу понять почему. Уже мозг взрывается.
Обработчики:
onmouseover=" SmoothShow('img<? print $area_id?>', 0.8);"
onmouseout=" SmoothHide('img<? print $area_id?>', 0); "
onmouseout=" SmoothHide('img<? print $area_id?>', 0); "
Может кто-то подскажет в чем глюк?
В Jave не очень силен. Код достаточно простой, но может где-то синтаксическая ошибка?
Надеюсь на подсказки.