Javascript.RU

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

Сообщение от Начинающий-Js-кодер
Теперь хочу спросить-внешнее прерывание в эту функцию можно добавить?
можно
if (abracadabra) requestAnimationFrame(c)

function noanimate() {abracadabra = false}
Ответить с цитированием
  #12 (permalink)  
Старый 07.08.2018, 18:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Начинающий-Js-кодер,
жмите 'Enter' для старт/стопа анимации
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   #block{
    position:absolute;
    top:0;
    left:0;
    width:20px;
    height:20px;
    background:#000;
}
  </style>
   <script>
      document.addEventListener('DOMContentLoaded', function() {
         var b = document.querySelector('#block'), m = 0, n = .5, abracadabra = true;
         function c()
         {
           if (abracadabra) m += n;
           if(m == 100 || m == 0) n = -n;
           b.style.marginLeft = m + 'px';
           requestAnimationFrame(c)
         }
       requestAnimationFrame(c);
       document.addEventListener('keyup', function(event) {
       if(event.key == 'Enter') startStopAnimate();  });
       function startStopAnimate() {abracadabra = !abracadabra}
        });
   </script>
</head>

<body>


<div id="block"></div>
</body>

</html>
Ответить с цитированием
  #13 (permalink)  
Старый 07.08.2018, 20:26
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Рони,снова спасибо большое.

сейчас пытаюсь реализовать toggle для style.
marginLeft обозначил mL, marginRight - mR
теперь при:b.style.mL = m + 'px'; перестало работать. Почему так? Как можно обойти данную проблему?
Ответить с цитированием
  #14 (permalink)  
Старый 07.08.2018, 20:28
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Извиняюсь,не так.
Делаю так:
var curMargin=marginLeft;
тогда b.style.curMargin = m + 'px'; перестает работать код. почему?
Ответить с цитированием
  #15 (permalink)  
Старый 07.08.2018, 20:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Начинающий-Js-кодер,
b.style[curMargin] =
Ответить с цитированием
  #16 (permalink)  
Старый 07.08.2018, 21:09
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Понял.Спасибо большое
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализована анимация на сайте популярной игры? whoIam Общие вопросы Javascript 6 19.09.2016 09:45
CSS3 Анимация [Не срабатывает при переключении вкладки] Quasar[CY] (X)HTML/CSS 1 18.11.2015 20:43
Анимация после анимации Narahon Элементы интерфейса 12 02.04.2015 22:06
Анимация gif картинки при нажатии на ссылку ainur777 Общие вопросы Javascript 2 06.07.2014 16:23
Анимация. Помогите понять почему не работает. kadurban jQuery 4 08.07.2010 20:50