запуск и остановка скрипта при изменении правила display
имеется скрипт, который требуется запускать при изменении правила display у некоторого объекта X на block, и его остановка при, опять-таки, изменении правила display на none у этого же объекта. Как это сделать? спасибо.
|
Цитата:
|
Сделал в песчнице эмуляцию моего вопроса. Может я вообще не то спрашиваю.
Вообщем, есть анимация самолета в блоке, который можно свернуть(display:none) и развернуть(display:block) http://learn.javascript.ru/play/C2kXp Если свернуть и развернуть, то анимация прекращатся, как это испавить... Что бы анимация не прекращалась или точнее что бы она вновь запусклась при развороте блока, как я понимаю. Спасибо |
попе и block атрибуты разметки. скрывать и показывать елементы полезно с помощью visibility
|
Забейте на ие9-)
http://www.w3schools.com/css/css3_animations.asp |
Так что бы сделать, что б анимация не прикращалась после свертывания и развертывания контейнера...
http://learn.javascript.ru/play/C2kXp |
Цитата:
|
<script src="http://code.jquery.com/jquery-latest.js"></script> <input id="toggle" type="button" value="toggle"> <div style="position:relative;"> <iframe name="ff2" src="" height=100% width=100% style="z-ndex:-100;position:absolute" border="0" scrolling="no"/></iframe> <div id="my" style="background-color:blue; min-height:34px;min-width:34px;"></div> </div> <script type="text/javascript"> $('#toggle').click(function() { $('#my').toggle() }); function tstDiv() { alert($('#my').is(':visible')?"Показан":"Cкрыт"); } </script> <script type="text/javascript"> // Тестируем смену размера iframe var timeoutId; $(window).load(function() { ff2.onresize = function() { clearTimeout(timeoutId) timerId = setTimeout(tstDiv,12); } }); </script> |
Цитата:
Что-то не так, не работает http://learn.javascript.ru/play/ytkKvb Как я понимаю, нужно вместо jQuery(document).ready... вставить событие изменения состояния конетейнера, если display block запустить, если display none остановить как-то так... Но есть ли такие события? |
onuvidelsolnce,
:blink: Отслеживать изменение размеров нун на обертке скрываемого блока, посколь при скрытии iframe - его размеры не меняются! Поэтому остлеживаемый блок id="my" вставлен внутрь обертки вдобок у Вас анимация, тады в ослеживании нун ставить задержку timerId = setTimeout(tstDiv,12); На величину более длительности анимации ( сейчас 12ms) (Либо отслеживать текущую высоту блока и совершать действия при её минимуме) Зы: В Вашем примере даже фрейм не установлен |
Часовой пояс GMT +3, время: 23:25. |