Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2013, 18:24
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Особенности самовызова функции
//понял свою ошибку, первую часть сообщения удалил.


П.С. Я пилю свой велосипед-анимацию сворачивания/разворачивания и хочу все сделать в одном таймере. Как бы это сделали вы?

Последний раз редактировалось PashPP, 02.01.2013 в 18:28.
Ответить с цитированием
  #2 (permalink)  
Старый 02.01.2013, 18:41
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

requestAnimationFrame - всё сделано до нас.
Ответить с цитированием
  #3 (permalink)  
Старый 02.01.2013, 19:30
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

melky,
Надо будет запомнить, но тут колесят просторы велосипеды.
Чисто академический интерес. Потом, возможно, попрошу критики.
Ответить с цитированием
  #4 (permalink)  
Старый 02.01.2013, 20:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Прочитал: Особенности самовывоза функции
Вот что значит НГ!.
Ответить с цитированием
  #5 (permalink)  
Старый 02.01.2013, 21:18
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Deff,
Ну и такое надо иногда.


Я тут странное (для меня) поведение в мозиле заметил. Почему-то она после первого цикла передает заместо отсутствующего arg случайное (наверно) число из-за чего все и стопорится. собственно
<body>
<div style= 'width: 50px; height: 50px; background-color: blue;' onclick ="document.body.innerHTML+=('<br> click' + '</br>'); timer(this); "></div>
<script type="text/javascript">

var firststart = 1;
var i = 0;
var target;
function timer(arg) {
  if(arg) {target = arg};
  target.innerHTML = i++;
  if (arg) document.body.innerHTML+=(arg)
  document.body.innerHTML+= '<span style="color: red">' +(!arg ) +'</span> '; document.body.innerHTML+=( firststart == 1 ) + " |"

  if(!arg || firststart == 1) { 

    setTimeout(timer, 333);
    firststart = 0;
  };
};
</script>
</body>
Ответить с цитированием
  #6 (permalink)  
Старый 02.01.2013, 21:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

if(typeof(arg)=='string') - Не ?
Или присвоить изначально
var arg='';
if(arg!='')
Ответить с цитированием
  #7 (permalink)  
Старый 02.01.2013, 23:30
Профессор
Посмотреть профиль Найти все сообщения от godofjavascript
 
Регистрация: 11.12.2012
Сообщений: 265

если ты хочешь сделать что то в одном интервале то запусти один интервал и выполняй им функции из массива в котором храни функции для вызова. ваш ко
Ответить с цитированием
  #8 (permalink)  
Старый 02.01.2013, 23:41
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Deff,
Вариант, но почему мозила делает это вообще? ( 12 версия)

godofjavascript,
Что? А в чем выгода?
Ответить с цитированием
  #9 (permalink)  
Старый 03.01.2013, 00:01
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от PashPP Посмотреть сообщение
Deff,
Вариант, но почему мозила делает это вообще? ( 12 версия)
честно, не пойму, о чём ты
Сообщение от PashPP Посмотреть сообщение
godofjavascript,
Что? А в чем выгода?
будет велосипед requestAnimationFrame
Ответить с цитированием
  #10 (permalink)  
Старый 03.01.2013, 00:22
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Сообщение от melky
честно, не пойму, о чём ты
В мозиле 12 версии вместо arg попадаются случайные числа, если запустить функцию. В остальных все норм.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26
динамическое содержимое функции alfmaster Общие вопросы Javascript 2 28.05.2011 17:10
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03