Показать сообщение отдельно
  #6 (permalink)  
Старый 24.10.2011, 01:44
Интересующийся
Отправить личное сообщение для nextdrift Посмотреть профиль Найти все сообщения от nextdrift
 
Регистрация: 23.10.2011
Сообщений: 25

Всё. Нашёл решение ^_^ Просто очищаю таймер. Вот код

var timer;

$('img[uid]').live('mouseover',function () {
        uid = $(this).attr('uid');
        whereMouse = 'over';
        $('img[uid="' + uid + '"]').live('mouseout', function(){
            whereMouse = 'out';
        });
        if(timer) { // чистим таймер ------ это и есть решение
            clearTimeout(timer); 
            timer = null 
        }
        timer = setTimeout(function(){

            $('#infobar').remove(); // удаляем, если есть. На всякий пожарный

            if(whereMouse == 'over') {

                $.ajax({

                    url: local + 'ajax/json/info_u' + uid + '.json',
                    dataType: 'json',
                    success: function(json) {
                            
                            infobar = 'ЗАПОЛНЯЕМ';

                            //alert(infobar);
                            $('#track_controls').append(infobar);
                            $("#infobar").fadeIn(300);
                            
                            $('img[uid=' + uid + ']').live('mouseout',function(){
                                $("#infobar").fadeOut(300, function(){
                                    $(this).remove();
                                });
                            });
                    }
                });
                
            }
        }, 400);
});
Ответить с цитированием