@BedOmar
Веб-разработчик

Как решить проблему с mouseout?

Есть скрипт открытия меню и закрытия нужно что бы через 10 секунд блок закрылся но только если мышка за пределами блока, а если мышка на блоке то что бы он не закрывался

пробовал так но не выходит:

$(document).ready(function(){
    $("#closea").click();
    $("#closediv").fadeIn(); 
  });

$(function() {
  $("#closea").click(function() {
    if ($(this).hasClass("closea")) {
      $(this).removeClass("closea");
      $("#closeimg").attr("src", "../img/up.png");	
	  var k=0;
	  $(".close").mouseover(function(){k=1;});
	  if(k==1){
	  setTimeout(function(){
			$("#closea").addClass("closea");
			$("#closeimg").attr("src", "../img/down.png"); 
			$("#closediv").slideToggle("slow");
		},5000);
	  }else{
		 k=0; 
	  }
	  
	  
    } else {
      $(this).addClass("closea");
      $("#closeimg").attr("src", "../img/down.png");
    }
    $("#closediv").slideToggle("slow");
  });
  

		
});
<div class='close'>


<div id='closediv'>
   контент в блоке
</div>
<a id='closea' onclick="close(this)" class="closea">
  <img id='closeimg' src="../img/up.png" style="width:30px">
</a>
</div>
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@BedOmar Автор вопроса
Веб-разработчик
var timeout;
	  $('.close').mouseover(function() {
		clearInterval(timeout);
	  });
	  $('.close').mouseout(function() {
		var e = this;
		timeout = setTimeout(function() {
		  $("#closea").click();
		}, 5000);
	  });
	  $('.close').each(function() {
		var e = this;
		timeout = setTimeout(function() {
		  $("#closea").click();
		}, 5000);
	  });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы