Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.01.2011, 10:45
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

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

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
то нерабтает
почему??
в коде ошипка или я вызываю нетак?
Ответить с цитированием
  #2 (permalink)  
Старый 10.01.2011, 12:31
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<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>
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2011, 12:39
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

и вчом смысл?
у менято display не меняется
а как вы зделали чтобы LEFT менялся???
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2011, 13:15
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Matre
и вчом смысл?
тоже самое хотел спросить у вас, вообще не ясно, что должна выполнять ваша функция...
Сообщение от Matre
у менято display не меняется
поподробней...
Сообщение от Matre
а как вы зделали чтобы LEFT менялся???
так посматрите на код, он очень простой
Ответить с цитированием
  #5 (permalink)  
Старый 10.01.2011, 15:58
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

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

Цитата:
вообще не ясно, что должна выполнять ваша функция...
сначала я вычесляю на сколько надо изменять (hod=konec-nachalo)
присваиваю нач значение
в интервале:
состовляю условие по которому анимация будет завершатся
прибавляю/отнимаю значение на 1
если условие коцна анимации верно,то сбрасываю интервал
Ответить с цитированием
  #6 (permalink)  
Старый 10.01.2011, 16:58
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Matre, чтобы плавно появлялось и угасало меняйте не display, а opacity
Ответить с цитированием
  #7 (permalink)  
Старый 10.01.2011, 17:03
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

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

а ту, есть активное обсуждение (и кроссбраузерная функция того примера, что в статье): Проблемы с анимацией
Ответить с цитированием
  #8 (permalink)  
Старый 10.01.2011, 18:46
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

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

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

Цитата:
а ту, есть активное обсуждение (и кроссбраузерная функция того примера, что в статье)
а что там?
dmitriymar попробовал нерасбодяженый героин?
и говорит ,что анимацыю делают циклом??
ничего хорошего изтой темы не моуг подчерпнуть длясебя
Ответить с цитированием
  #9 (permalink)  
Старый 10.01.2011, 18:59
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Matre, с opacity не работает потому что opacity может содержать значения от 0 до 1, а у тебя единица промежуточная получается 1, то есть для opacity нужно 0.01 или 0.1
Ответить с цитированием
  #10 (permalink)  
Старый 10.01.2011, 19:58
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
неработает кнопка после переприсвоения свойства aspire5738 Events/DOM/Window 3 19.10.2010 16:41
Неработает .tpl Arfey Общие вопросы Javascript 3 03.09.2010 13:34
Неработает скрипт MCTrane Javascript под браузер 3 23.07.2010 22:48
input.type = 'password' неработает в ie Papa Общие вопросы Javascript 3 20.07.2010 01:06
Неработает frame N_L (X)HTML/CSS 1 20.11.2009 07:19