Действия по завершении анимации
Здесь следует обратить внимание на цвет абзаца, это работает так: когда блок скрыт - абзац красный, когда блок появляется - абзац чёрный. Абзац меняет цвет лишь после завершения функции slideToggle(). Но такая проблема: когда блок раскрыт, и при этом нажать на абзац 2 раза, то блок остаётся открытым, а у абзаца цвет красный, а не чёрный. Долго решал проблему уже крайний случай.
https://jsfiddle.net/47du3kwe/ |
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, время: 04:58. |