Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Действия по завершении анимации (https://javascript.ru/forum/jquery/66939-dejjstviya-po-zavershenii-animacii.html)

Aqua77 18.01.2017 22:21

Действия по завершении анимации
 
Здесь следует обратить внимание на цвет абзаца, это работает так: когда блок скрыт - абзац красный, когда блок появляется - абзац чёрный. Абзац меняет цвет лишь после завершения функции slideToggle(). Но такая проблема: когда блок раскрыт, и при этом нажать на абзац 2 раза, то блок остаётся открытым, а у абзаца цвет красный, а не чёрный. Долго решал проблему уже крайний случай.

https://jsfiddle.net/47du3kwe/

рони 18.01.2017 22:31

Aqua77,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
      .q1 {
  height: 300px;
  width: 100px;
  background: black;
  display: none;
}
p {
  float: right;
  background: red;
}
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$('p').click(function() {
    $('.q1').stop().slideToggle(function() {
      $('p').css({
        background: $('.q1').is(':hidden') ? 'red':'black'
      });
    });

});
});
  </script>
</head>

<body>
 <p>123312</p>
  <div class="q1"></div>

</body>
</html>


Часовой пояс GMT +3, время: 00:43.