Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2017, 16:37
Новичок на форуме
Отправить личное сообщение для Hidrigar Посмотреть профиль Найти все сообщения от Hidrigar
 
Регистрация: 17.12.2017
Сообщений: 2

Анимация изменения размера картинки от текущего размера
Ребят, подскажите как взять текущий размер картинки и уже от него анимировать. Есть такой скриптик

function animate({timing, draw, duration}) {

  let start = performance.now();

  requestAnimationFrame(function animate(time) {
    let timeFraction = (time - start) / duration;
    if (timeFraction > 1) timeFraction = 1;

    let progress = timing(timeFraction);

    draw(progress); 

    if (timeFraction < 1) {
      requestAnimationFrame(animate);
    }

  });
}

    train.onclick = function() {
      animate({
        duration: 1000,
        timing: function(timeFraction) {
          return Math.pow(timeFraction, 2);
        },
        draw: function(progress) {       	
          train.style.width = progress * 500 + 'px';
          train.style.height = progress * 500 + 'px';
        }
      });
    };
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2017, 17:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Hidrigar,
https://learn.javascript.ru/metrics
Ответить с цитированием
  #3 (permalink)  
Старый 17.12.2017, 18:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Hidrigar,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>


</head>

<body>
<img src="https://otvet.imgsmail.ru/download/3899404403ddff2f2cdd94afd65d356e_i-208.jpg" alt="" id="train">
  <script>
  "use strict"
function animate({timing, draw, duration}) {

  let start = performance.now();

  requestAnimationFrame(function animate(time) {
    let timeFraction = (time - start) / duration;
    if (timeFraction > 1) timeFraction = 1;

    let progress = timing(timeFraction);

    draw(progress);

    if (timeFraction < 1) {
      requestAnimationFrame(animate);
    }

  });
}

    train.onclick = function() {
      var width =  train.offsetWidth, height = train.offsetHeight;
      animate({
        duration: 1000,
        timing: function(timeFraction) {
          return Math.pow(timeFraction, 2);
        },
        draw: function(progress) {
          train.style.width = width + progress * (500 - width) + 'px';
          train.style.height = height + progress * (500 - height) + 'px';
        }
      });
    };

  </script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 17.12.2017, 18:26
Новичок на форуме
Отправить личное сообщение для Hidrigar Посмотреть профиль Найти все сообщения от Hidrigar
 
Регистрация: 17.12.2017
Сообщений: 2

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация gif картинки при нажатии на ссылку ainur777 Общие вопросы Javascript 2 06.07.2014 16:23
Изменение размера текущего окна window.resizeTo(,) Sam L Events/DOM/Window 0 14.03.2013 15:19
Отлов изменения размера элемента. Какие способы есть? danik.js Events/DOM/Window 3 05.02.2013 11:00
Ищу плагин jQuery для визуального изменения размера картинки FRIE jQuery 4 02.09.2012 23:22
Скрипт, изменения размера картинки soniclord Элементы интерфейса 14 28.10.2008 16:38