Как я могу закрыть анимацию, когда нажимаю на тело, а не на элемент, который заставляет анимацию появляться / исчезать?
$('#btt').click(function() { $('.box').slideToggle('slow'); });
.box { width: 200px; height: 300px; background-color: #00000025; display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button id="btt">PressIt</button> <div class="box"></div>
https://jsfiddle.net/c7wt9jz6/17/
Вам нужно сделать две вещи:
slideUp()
body
.box
e.stopPropagation();
$('#btt').click(function(e) { $('.box').slideToggle('slow'); e.stopPropagation(); }); $('body').click(function(){ $('.box').slideUp(); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id="btt">PressIt</button> <div class="box"></div>