2015-09-11 4 views
0

Этот скрипт угасает div «# box1», когда нет движения мыши. Я пытаюсь заставить это НЕ исчезать, когда курсор находится над div «# box1» и продолжает исчезать, если нет движения мыши за пределами div. Я пробовал if/else для mouseover(), но я не могу заставить его работать правильно.Не затухатьOut on Hover

Может кто-то пожалуйста мне точку в сторону, как выяснить, мой глупый вопрос http://jsfiddle.net/YjC6y/2877/

Спасибо любезно

$(function() { 
    var timer; 
    var fadeInBuffer = false; 
    $(document).mousemove(function() { 
     if (!fadeInBuffer) { 
      if (timer) { 
       console.log("clearTimer"); 
       clearTimeout(timer); 
       timer = 0; 
      } 

      console.log("fadeIn"); 
      $('#box1').fadeIn(); 
      $('html').css({ 
       cursor: '' 
      }); 
     } else { 
      fadeInBuffer = false; 
     } 


     timer = setTimeout(function() { 
      console.log("fadeout"); 
      $('#box1').fadeOut() 
      $('html').css({ 
       cursor: 'none' 
      }); 
      fadeInBuffer = true; 
     }, 1500) 
    }); 
}); 
+0

Извините еще раз .. у вас есть div .. на mouseover div остается нормальным, как при загрузке, и если мышь, то div fadeout right? – daremachine

ответ

4

Попробуйте это: здесь скрипка ссылка: jsfiddle.net/b04jsmkf

if (!$('#box1').is(':hover')) { 

Полная функция:

 $(function() { 
      var timer; 
      var fadeInBuffer = false; 
      $(document).mousemove(function() { 
       if (!fadeInBuffer) { 
        if (timer) { 
         console.log("clearTimer"); 
         clearTimeout(timer); 
         timer = 0; 
        } 

         console.log("fadeIn"); 
        $('#box1').fadeIn(); 
        $('html').css({ 
         cursor: '' 
        }); 
       } else { 
        fadeInBuffer = false; 
       } 


       timer = setTimeout(function() { 
        console.log("fadeout"); 
        if (!$('#box1').is(':hover')) { 
         $('#box1').fadeOut() 
         $('html').css({ 
          cursor: 'none' 
         }); 
         fadeInBuffer = true; 
        } 
       }, 1500) 
      }); 
     }); 
+1

Арам меня избил, я собирался опубликовать эту скрипку: http://jsfiddle.net/b04jsmkf/ –

+0

@ Арам, у тебя есть скрипка? –

+0

@SomayehGazvinian Gregg просто положил его в комментарий ... – Aram

1

фиксированный, только что добавленный mousemove check на #box.

$(function() { 

var timer; 
var isOnBox = false; 
var fadeInBuffer = false; 



$("#box1").mouseenter(function(){; 
    isOnBox = true; 
}).mouseleave(function(){ 
    isOnBox = false; 
}); 


$(document).mousemove(function() { 
    if (!fadeInBuffer) { 
     if (timer) { 
      console.log("clearTimer"); 
      clearTimeout(timer); 
      timer = 0; 
     } 
     console.log("fadeIn"); 
     $('#box1').fadeIn(); 
     $('html').css({ 
      cursor: '' 
     }); 
    } else { 
     fadeInBuffer = false; 
    } 

    timer = setTimeout(function() { 
     console.log(isOnBox); 
     if(isOnBox==false){ 
      console.log("fadeout"); 
      $('#box1').fadeOut() 
      $('html').css({ 
       cursor: 'none' 
      }); 
      fadeInBuffer = true; 
     } 
    }, 1500) 

}); 
});