запуск и остановка скрипта при изменении правила 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:23. |