Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.06.2017, 21:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от gooodwin67
На словах, "если то то, то это"
в крайних точках когда x == 0 или x == 300 n равное 5 сделать n = -5 или наоборот n равное минус 5 сделать 5
Сообщение от gooodwin67
Где я тут ошибаюсь?
мне сложно осилить вашу логику, но попробуйте исключить setInterval из ваших кодов навсегда, так будет лучше.
Ответить с цитированием
  #12 (permalink)  
Старый 29.06.2017, 21:16
Интересующийся
Отправить личное сообщение для gooodwin67 Посмотреть профиль Найти все сообщения от gooodwin67
 
Регистрация: 03.06.2017
Сообщений: 17

рони,
Спасибо большое! А эту задачу можно решить без setInterval? Ни в коем случае не хочу просить Вас написать код, но хотя бы просто намекните, как решить такую задачу без setInterval.
PS. Ребят, извините за такие нубские вопросы, я в самом начале изучения и вот попалась такая задачка, целый день не мог решить))

И до сих пор у меня остается вопрос, что значит !x
Ответить с цитированием
  #13 (permalink)  
Старый 29.06.2017, 21:18
Интересующийся
Отправить личное сообщение для gooodwin67 Посмотреть профиль Найти все сообщения от gooodwin67
 
Регистрация: 03.06.2017
Сообщений: 17

Блин, не увидел по !x. Все, спасибо, теперь понял!
Ответить с цитированием
  #14 (permalink)  
Старый 29.06.2017, 21:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от gooodwin67
А эту задачу можно решить без setInterval?
window.setTimeout или window.requestAnimationFrame или $().animate
Ответить с цитированием
  #15 (permalink)  
Старый 29.06.2017, 22:39
Интересующийся
Отправить личное сообщение для gooodwin67 Посмотреть профиль Найти все сообщения от gooodwin67
 
Регистрация: 03.06.2017
Сообщений: 17

Спасибо большое!
Ответить с цитированием
  #16 (permalink)  
Старый 29.06.2017, 22:52
Интересующийся
Отправить личное сообщение для gooodwin67 Посмотреть профиль Найти все сообщения от gooodwin67
 
Регистрация: 03.06.2017
Сообщений: 17

рони,
Вот напомнили Вы про animate, сразу получилось сделать вот так
https://jsfiddle.net/gooodwin67/kyuLc6oy/
Но все равно, чтобы зациклить пришлось использовать setInterval
Ответить с цитированием
  #17 (permalink)  
Старый 29.06.2017, 23:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от gooodwin67
Но все равно, чтобы зациклить пришлось использовать setInterval
очередной бред, безумно расходующй ресурсы браузера и компа, как и ваш пост тут №6.
нет причин чтоб где-то использовать setInterval
https://jsfiddle.net/kyuLc6oy/3/

Последний раз редактировалось рони, 29.06.2017 в 23:35.
Ответить с цитированием
  #18 (permalink)  
Старый 29.06.2017, 23:35
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

gooodwin67,
Проще для восприятия - https://jsfiddle.net/kyuLc6oy/4/
Используем коллбэк у функции animate для вызова самовызывающиеся функции foo, тем самым создаем рекурсию.
Теперь тебе осталось написать реализацию с setTimeout
Ответить с цитированием
  #19 (permalink)  
Старый 02.07.2017, 01:57
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Здесь на самом деле не имеет смысла, что использовать — ведь left не является аппаратно-ускоренным свойством, поэтому не получается ровно 60fps. Также не может принимает дробные значения, из-за чего медленная анимация получается прерывистой.
И вряд ли получится дёргать DOM с частотой 60 раз в секунду, чтобы это было всегда одинаково.

Аппаратно-ускоренным свойства — transform, filter, opacity, mask
Если анимируете не эти свойства, то рискуете получить не идеальную анимацию с 60fps.
В таком случае лучше использовать canvas или video, которые тоже имеют аппаратное ускорение.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
Закрыть DIV при клике в нем на ссылку или баннер xavibeat Общие вопросы Javascript 1 30.03.2016 20:41
движение в четыре стороны startale Javascript под браузер 0 26.02.2015 18:00
Показать div при наведении / jQuery updaite Элементы интерфейса 4 28.07.2014 03:45
Проблемы с div обновлённым через (#id).load erlcat jQuery 4 03.03.2013 03:41