Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   неработает анимацыя (https://javascript.ru/forum/misc/14289-nerabotaet-animacyya.html)

Matre 10.01.2011 10:45

неработает анимацыя
 
я написал фунцию что бы делать анимацию элемента:

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
то нерабтает
почему??
в коде ошипка или я вызываю нетак?

monolithed 10.01.2011 12:31

<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>

Matre 10.01.2011 12:39

и вчом смысл?
у менято display не меняется
а как вы зделали чтобы LEFT менялся???

monolithed 10.01.2011 13:15

Цитата:

Сообщение от Matre
и вчом смысл?

тоже самое хотел спросить у вас, вообще не ясно, что должна выполнять ваша функция...
Цитата:

Сообщение от Matre
у менято display не меняется

поподробней...
Цитата:

Сообщение от Matre
а как вы зделали чтобы LEFT менялся???

так посматрите на код, он очень простой

Matre 10.01.2011 15:58

я не \понимаю 16 строку тамже должна быть бесконечная рекурсия..выбрасывать сообщ в консоли ошибок.

Цитата:

вообще не ясно, что должна выполнять ваша функция...
сначала я вычесляю на сколько надо изменять (hod=konec-nachalo)
присваиваю нач значение
в интервале:
состовляю условие по которому анимация будет завершатся
прибавляю/отнимаю значение на 1
если условие коцна анимации верно,то сбрасываю интервал

Vulkan 10.01.2011 16:58

Matre, чтобы плавно появлялось и угасало меняйте не display, а opacity

monolithed 10.01.2011 17:03

самое главное прочитать как это работает: http://javascript.ru/blog/Andrej-Par...cii-JavaScript

а ту, есть активное обсуждение (и кроссбраузерная функция того примера, что в статье): http://javascript.ru/forum/misc/1367...nimaciejj.html

Matre 10.01.2011 18:46

Vulkan, с opacity тоже нерабоает!!

monolithed, там непонятно..формулы какието.хотелось бы узнать,почему неработает мой способ

Цитата:

а ту, есть активное обсуждение (и кроссбраузерная функция того примера, что в статье)
а что там?
dmitriymar попробовал нерасбодяженый героин?
и говорит ,что анимацыю делают циклом??
ничего хорошего изтой темы не моуг подчерпнуть длясебя

Vulkan 10.01.2011 18:59

Matre, с opacity не работает потому что opacity может содержать значения от 0 до 1, а у тебя единица промежуточная получается 1, то есть для opacity нужно 0.01 или 0.1

dmitriymar 10.01.2011 19:58

Matre,
дятел думай что говоришь .

Matre 10.01.2011 20:36

Vulkan,
спасибо-получилось.
а как зделать,чтобы можно было добавлять easing??

monolithed 10.01.2011 23:40

Цитата:

Сообщение от Matre
dmitriymar попробовал нерасбодяженый героин?

Цитата:

Сообщение от dmitriymar
дятел думай что говоришь .

dmitriymar, Matre я смотрю у вас взаимная симпатия.
что не поделил, карму? прекращайте уже!
Цитата:

Сообщение от Gvozd
наш ресурс, между прочим даже дети читают

Цитата:

Сообщение от Matre
ничего хорошего изтой темы не моуг подчерпнуть длясебя

невнимательно читали, значит прочте еще раз.
Цитата:

Сообщение от Matre
там непонятно..формулы какието.хотелось бы узнать,почему неработает мой способ

а как вы хотели, рано или поздно вы с этим столкнетесь (хоть там не эталонный и некроссбраузерный вариант, но база хорошая), поэтому прочите мое предыдущее сообщение еще раз.

dmitriymar 11.01.2011 01:22

monolithed,
видишь ли -люди в его состояние бояться только одного-угрозы силы и это единственное что может их остановить(не позволить зайти далеко). в одно время был опыт общения с подобными(как говорится любовь зла полюбишь и ...) и знаешь завидую тем,кто ни разу с подобными не общался и не испытывал опыт общения с ними. Человек полностью адекватен-пока какой то темы не касается.
приведу пример
будет согласен что солнце круглое,что восходит на востоке -садиться на западе,что земля вращается вокруг солнца-но вот оно при этом зелёное. в итоге придёт к половине отрицания всего что для него было истинно-но в тоже время и отрицание и истина будут существовать параллельно.
не помню кто сказал-но суть верна
-чем отличается дурак от шизофреника?
-для дурака 2*2=5 но доказать этого не может
-для шизофреника 2*2=5 и это он может доказать десятью способами
При этом ещё и сможет "научно" убедить окружающих в правоте своей. вся цепочка будет логически верна -не придерёшься-ошибка будет в такой мелочи -на какую внимания не обратишь и скорее всего это будет предпосылка а вот логика после неё будет чёткая-хоть кандидатскую пиши......

dmitriymar 11.01.2011 01:58

ну и ещё одно-как он сам признаётся програмирование довело его до дурки. и после выхода с неё-тема програмирования должна для него быть табу по полной иначе история повториться по полной .

Matre 11.01.2011 05:04

я непонял,мне код дадут или нет?
там сложноже все.


Часовой пояс GMT +3, время: 14:46.