После плавного появления картинка не исчезает полностью
Вложений: 2
Доброго времени суток, товарищи! Помогите пожалуйста разобраться.
Суть проблемы в следующем: имеется картинка с именем "loshad", которая плавно появляется при наведении на неё курсора мыши, и при уводе курсора с данной картинки она должна стать полностью не видимой. Но всё бы хорошо, вот только при уводе с неё курсора, данная картинка полностью не исчезает, а остаётся видимой процентов на 10, на фоне картинки "fon" . А также ей видимость после этого уже вообще не изменяется. Если убрать фоновую картинку то всё нормально "loshad" становиться полностью не видимой. КОД привожу ниже. ==============================================
<html>
<head >
</head>
<body style= "background-image: url('images/fon.png')" >
<script type="text/javascript">
var obj,op;
function disappear(x) {
op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op > x) {
clearTimeout(t);
op -= 0.05;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
t2=setTimeout('disappear('+x+')',20);
}
}
function transparent(x,x2,obj,pid)
{
var t,t2;
this.appear = function() {
var op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op < x) {
clearTimeout(t2);
op += 0.05;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
t = setTimeout(arguments.callee,50);
}
}
this.disappear = function() {
var op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op > x2) {
clearTimeout(t);
op -= 0.05;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
t2 = setTimeout(arguments.callee,50);
}
}
}
</script><br><br>
<img src="images/loshad.png" style="position: absolute; z-index: 1!important; alt=; width: 731px; height: 483px;"logo" width="636" height="396" id="image_1"
onmouseover="z = new transparent(1,0.0,this); z.appear();" onMouseOut="z.disappear();">
<script type="text/javascript">
document.getElementById('image_1').style.opacity = 0.0;
document.getElementById('image_1').style.filter = 'alpha(opacity=1)';
</script>
</body>
</html>
========================================== Во вложении картинки с самой страницей. |
Сергей545,
странный alt у вас в картинке |
))) alt="logo" Съехал при редактировании, но он никак не влияет на работоспособность.
|
Сергей545,
логика непродумана --при op < 0 нужно op установить 0 и незапускать таймер иначе у вас бесконечный цикл |
Сергей545,
<html>
<head >
<style type="text/css">
body{
background-image: url('http://img0.liveinternet.ru/images/attach/b/3/28/942/28942996_6764184_Fon.gif')
}
</style>
</head>
<body>
<script type="text/javascript">
function transparent(x,x2,obj,pid)
{
var t,t2;
this.appear = function() {clearTimeout(t2);
var op = (obj.style.opacity)?parseFloat(obj.style.opacity)*100:parseInt(obj.style.filter);
if(op < x) {
op += pid;
obj.style.opacity = op/100;
obj.style.filter='alpha(opacity='+op+')';
t = setTimeout(arguments.callee,20);
}
}
this.disappear = function() { clearTimeout(t);
var op = (obj.style.opacity)?parseFloat(obj.style.opacity)*100:parseInt(obj.style.filter);
if(op > x2) {
op -= pid;
if(op < 1) op = 0;
obj.style.opacity = op/100;
obj.style.filter='alpha(opacity='+op+')';
if (op > 1) t2 = setTimeout(arguments.callee,20)
}
}
}
</script><br><br>
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" style="position: absolute; z-index: 1!important; ; width: 731px; height: 483px;" alt="logo" width="636" height="396" id="image_1"
onmouseover=" z.appear();" onMouseOut="z.disappear();">
<script type="text/javascript">
var img = document.getElementById('image_1')
z = new transparent(100,0.0,img,2);
img.style.opacity = 0;
img.style.filter = 'alpha(opacity=0)';
</script>
</body>
</html>
|
ОГРОМНОЕ ВАМ СПАСИБО!!!!!!!!!!!!!!!!! Добрый Человек!!!!!!!!!!!
|
Сергей545,
строка 34 умножение было уберите -- смотрите исправленный вариант выше |
| Часовой пояс GMT +3, время: 03:05. |