неработает анимацыя
я написал фунцию что бы делать анимацию элемента:
function animaciya(element, parametr, nachalo, konec, vremya) {
hod=konec-nachalo
element.style[parametr]=nachalo
interval=setInterval(function(){
if(nachalo<konec)
uslovie=parseInt(element.style[parametr])>konec;
else
uslovie=parseInt(element.style[parametr])<konec;
if(nachalo>konec)
element.style[parametr] = parseInt(element.style[parametr])-1;
else
element.style[parametr] = parseInt(element.style[parametr])+1;
if(uslovie)
clearInterval(interval);
},vremya/hod);
}
если вызыват animaciya(document.getElementById("primer"), "height", 20, 0, 1000); то все хорошо работает но если вызвать animaciya(document.getElementById("primer"), "display", "none", "block", 1000); или с opacity/float,top,left,position,direction то нерабтает почему?? в коде ошипка или я вызываю нетак? |
<style type="text/css">
div {
background: blue;
position: absolute;
width: 100px;
height: 100px;
}
</style>
<script type="text/javascript">
window.onload = function(){
var i = 0;
(function(){
if(++i <= 200){
document.getElementsByTagName('div')[0].style.left = i+'px';
setTimeout(arguments.callee, 10);
}
else {
alert('finished');
}
})();
};
</script>
<div></div>
|
и вчом смысл?
у менято display не меняется а как вы зделали чтобы LEFT менялся??? |
Цитата:
Цитата:
Цитата:
|
я не \понимаю 16 строку тамже должна быть бесконечная рекурсия..выбрасывать сообщ в консоли ошибок.
Цитата:
присваиваю нач значение в интервале: состовляю условие по которому анимация будет завершатся прибавляю/отнимаю значение на 1 если условие коцна анимации верно,то сбрасываю интервал |
Matre, чтобы плавно появлялось и угасало меняйте не display, а opacity
|
самое главное прочитать как это работает: http://javascript.ru/blog/Andrej-Par...cii-JavaScript
а ту, есть активное обсуждение (и кроссбраузерная функция того примера, что в статье): http://javascript.ru/forum/misc/1367...nimaciejj.html |
Vulkan, с opacity тоже нерабоает!!
monolithed, там непонятно..формулы какието.хотелось бы узнать,почему неработает мой способ Цитата:
dmitriymar попробовал нерасбодяженый героин? и говорит ,что анимацыю делают циклом?? ничего хорошего изтой темы не моуг подчерпнуть длясебя |
Matre, с opacity не работает потому что opacity может содержать значения от 0 до 1, а у тебя единица промежуточная получается 1, то есть для opacity нужно 0.01 или 0.1
|
Matre,
дятел думай что говоришь . |
| Часовой пояс GMT +3, время: 15:02. |