Действия по завершении анимации
Здесь следует обратить внимание на цвет абзаца, это работает так: когда блок скрыт - абзац красный, когда блок появляется - абзац чёрный. Абзац меняет цвет лишь после завершения функции 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, время: 00:43. |