Показать сообщение отдельно
  #1 (permalink)  
Старый 16.01.2012, 20:54
Аспирант
Отправить личное сообщение для bazilio2010 Посмотреть профиль Найти все сообщения от bazilio2010
 
Регистрация: 04.10.2011
Сообщений: 34

setTimeout сложности с постепенным исчезновением элемента
Код (по моей логике) , когда я его писал
Должен был работать так навел на элемент мышкой, его дочерний элемент (если в нем есть текст) постепенно появился, убрал постепенно исчез. К сожалению не работает точнее работает через раз и если быстро навести на элементам и убрать то он не исчезнет. Что я не так "на программировал" заранее благодарю, того кто поможет.
function up(el)
                 {
                    var s = el;
                       var div = s.getElementsByTagName('div')[0];
                       var i = div.innerHTML.length;
                        if(i>3)
                        {
                          div.style.opacity = 1;
                            if(div.style.opacity<0.1)
                           {b = 0;}
                           b += 0.1;
                           div.style.opacity=b;
                           if (b < 1)
                           {
                             setTimeout(function () { up(el);}, 30);
                           }
                        }
                 }


function down(ed){
                        var so = ed;
                        var div = so.getElementsByTagName('div')[0];
                        if( div.style.opacity>0){
                        var em = div.style.opacity;
                        em -= 0.1;
                        div.style.opacity=em;
                        if (em > 0)
                        {
                        setTimeout(function () { down(ed);}, 30);
                        }
                        }
                    }
Ответить с цитированием