Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.11.2013, 14:41
Интересующийся
Отправить личное сообщение для Сергей545 Посмотреть профиль Найти все сообщения от Сергей545
 
Регистрация: 30.11.2013
Сообщений: 15

После плавного появления картинка не исчезает полностью
Доброго времени суток, товарищи! Помогите пожалуйста разобраться.
Суть проблемы в следующем: имеется картинка с именем "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>


==========================================

Во вложении картинки с самой страницей.
Изображения:
Тип файла: jpg проблема.jpg (193.8 Кб, 4 просмотров)
Вложения:
Тип файла: zip исчезновение.zip (1.24 Мб, 1 просмотров)

Последний раз редактировалось Сергей545, 30.11.2013 в 14:43.
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2013, 14:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сергей545,
странный alt у вас в картинке
Ответить с цитированием
  #3 (permalink)  
Старый 30.11.2013, 14:54
Интересующийся
Отправить личное сообщение для Сергей545 Посмотреть профиль Найти все сообщения от Сергей545
 
Регистрация: 30.11.2013
Сообщений: 15

))) alt="logo" Съехал при редактировании, но он никак не влияет на работоспособность.
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2013, 15:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сергей545,
логика непродумана --при op < 0 нужно op установить 0 и незапускать таймер иначе у вас бесконечный цикл
Ответить с цитированием
  #5 (permalink)  
Старый 30.11.2013, 15:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сергей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>

Последний раз редактировалось рони, 30.11.2013 в 15:55.
Ответить с цитированием
  #6 (permalink)  
Старый 30.11.2013, 15:52
Интересующийся
Отправить личное сообщение для Сергей545 Посмотреть профиль Найти все сообщения от Сергей545
 
Регистрация: 30.11.2013
Сообщений: 15

ОГРОМНОЕ ВАМ СПАСИБО!!!!!!!!!!!!!!!!! Добрый Человек!!!!!!!!!!!
Ответить с цитированием
  #7 (permalink)  
Старый 30.11.2013, 15:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сергей545,
строка 34 умножение было уберите -- смотрите исправленный вариант выше
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по скрипту для плавного появления текста Godser Общие вопросы Javascript 1 22.11.2013 23:49
Почему onload срабатывает до того как картинка полностью проявится? koeshiro Общие вопросы Javascript 21 24.06.2013 14:50