Событие click и scroll не отрабатывают

213
16 декабря 2017, 05:57

Доброго времени суток. Моя проблема состоит в том, что не срабатывает повторно событие click.

Допустим у меня поверх гугл карт есть картинка фоновая. По клику на неё я делаю ей opacity в ноль, с .animate в 2 секунды и прячу картинку .hide. По скролу возвращаю opacity в единицу и показываю картинку .show. Если кликнуть опять по картинке, то повторный клик не отрабатывает, бывает, что отрабатывает через 5-10 секунд после клика.

https://jsfiddle.net/yhzqzafc/

Менял событие scroll на mouseleave - все отлично работает, повторные клики отрабатывают. Но нужно именно с скролом.

В чем может быть проблема?

Answer 1

Добавил через else условие где картинка появляеться,

 $(function() { 
  $('.image').click(function() { 
var opacity = $(this).css("opacity"); 
if (opacity === "0") { 
  $('.image').animate({ 
    opacity: "1", 
  }, 2000); 
   
} else{ 
 $('.image').animate({ 
    opacity: "0", 
  }, 2000); 
} 
  }); 
  $(window).scroll(function() { 
 
var opacity = $('.image').css("opacity"); 
 
if (opacity === "0") { 
  $('.image').show(1000); 
  $('.image').animate({ 
    opacity: "1", 
  }, 1000); 
 
} 
  }); 
}); 
 
$(function() { 
  $(window).scroll(function() { 
 
var opacity = $('.image').css("opacity"); 
 
if (opacity === "0") { 
  $('.image').show(1000); 
  $('.image').animate({ 
    opacity: "1", 
  }, 1000); 
 
} 
  }); 
});
.wrap { 
  height: 1200px; 
} 
 
p { 
  width: 300px; 
  height: 300px; 
  background-color: lightblue; 
} 
 
.image { 
  widht: 300px; 
  height: 300px; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="wrap"> 
  <p> 
    <img src="http://jasonhumphrey.com/wp-content/uploads/2016/11/jsfiddle.png" class="image"> 
  </p> 
</div>

Answer 2

В общем всё просто. Я перемудрил. По клику делаем .fadeOut(1000), по скролу делаем .fadeIn(1000) на элементе

READ ALSO
Сменить блоки информации по клику

Сменить блоки информации по клику

Как скрыть блок информации при клике на другой блок, который должен отобразиться в этом окне? Блоков несколько и нет желания прописывать,...

241
&lt;div&gt;&lt;/div&gt; и &lt;div/&gt; в чем разница?

<div></div> и <div/> в чем разница?

Есть два примераПочему в первом примере показует 3 блока, в то время как во втором примере показует один?

356
Css для хлебных крошек :last-child:after

Css для хлебных крошек :last-child:after

Нужно, чтобы в последнем элементе в хлебных крошках не было сепаратораНе пойму почему не работает

275
Что дает наличие transform: translateZ(0) scale(1, 1) в body

Что дает наличие transform: translateZ(0) scale(1, 1) в body

Не первый раз встречаю правило transform: translateZ(0) scale(1, 1), какое применяется к тегу <body>

337