Сообщение от poorking
|
А это событие везде генерируется где поддерживается transition?
|
в 4 файрфоксе да.
в опере 10.5 это OTransitionEnd
в хроме webkitTransitionEnd
я про него ничего не нашел. попробовал сам.. "тыкнуть"
вот пример
для вебкита, файрфокса и оперы
<img width="100" src="http://javascript.ru/forum/image.php?u=9861&dateline=1303740012" style="border : 3px red solid">
<script>
var img = document.images[0],
// это для хрома
transit = 'WebkitTransition',
transit_event = 'webkitTransitionEnd';
if (typeof img.style.WebkitTransition === 'undefined') {
if (typeof document.body.style.MozTransition === 'undefined') {
if (typeof document.body.style.OTransition === 'undefined')
alert('Не поддерживается');
else {
// меняем для оперы
transit = 'OTransition';
transit_event = 'OTransitionEnd';
}
} else {
// меняем для мозиллы
transit = 'MozTransition';
transit_event = 'transitionend';
}
} // if webkit transition END
// свойство TRANSITION
img.style[transit] = "all 2s ease-in-out"
// после 400 мсек меняем свойства и начинается анимация
setTimeout(function () {
with(img.style) {
width = "300px"
opacity = "0.3";
}
}, 400)
// в конце анимации мутим бесконечную
img.addEventListener(transit_event, function () {
with(img.style) {
width = Math.random() * 150 + 50 + 'px';
opacity = Math.random();
borderWidth = Math.random() * 20 + 10 + 'px';
borderColor = "blue";
}
//img.removeEventListener( transit_event, arguments.callee, false );
}, false)
</script>
все ок, но в мозилле опять этот баг ( т.е. это уже фича такая )
не установил высоту - перехода нет. появляется только потом ( при transitionend. она сразу стартует )
с подчёркнутым все отлично
<img *!*width="100"*/!* src="http://javascript.ru/forum/image.php?u=9861&dateline=1303740012" style="border : 3px red solid">
кстати, заметил еще одно
img.addEventListener(transit_event, function () {
with(img.style) {
width = "100px"
opacity = "0.9";
borderWidth = "10px"
borderColor = "blue";
}
}, false)
тут то по окончанию перехода ( transition ) назначаются новые свойства стилей.
анимация начинает проигрываться опять ! хоть и этого незаметно
...
заметил через файрбаг сейчас.
надо быть внимательней )
UPD :
ВОТ ЭТА ССЫЛКА ответила на все мои вопросы!