Javascript.RU

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

Круговая анимированная диаграмма как в примере
Нужно сделать такую анимированную диаграмму как на главной странице этого сайта http://builtbybuffalo.com/ (точь в точь).Помогите пожалуйста, ищу 2 день не могу найти..
Изображения:
Тип файла: jpg скачанные файлы (6).jpg (8.0 Кб, 8 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 03.12.2015, 00:13
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

http://www.htmldrive.net/items/demo_show/1241#
Ответить с цитированием
  #3 (permalink)  
Старый 03.12.2015, 00:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

walker1232,
http://thecodeplayer.com/walkthrough...and-javascript
Ответить с цитированием
  #4 (permalink)  
Старый 03.12.2015, 00:58
Интересующийся
Отправить личное сообщение для walker1232 Посмотреть профиль Найти все сообщения от walker1232
 
Регистрация: 28.11.2015
Сообщений: 24

Пользуясь canvas-ом получилось следующее, теперь не могу:
1. Cделать 5 разных кругов.
2. Hужно чтобы каждый загружался по очереди, сначала первый полностью, потом второй и так далее..А всего их было 5.
3. Cделать чтобы они начинали загружаться только если ты доходишь до них на странице,
HTML<canvas id="canvas" width="300" height="300"></canvas>

window.onload = function(){
  var canvas = document.getElementById("canvas");
  var ctx = canvas.getContext("2d");
  var W = canvas.width;
  var H = canvas.height;
  var degrees = 0;
  var new_degrees = 0;
  var difference = 0;
  var color = "lightblue";
  var bgcolor = "#222";
  var text;
  var animation_loop, redraw_loop;

  function init()
  {
    ctx.clearRect(0, 0, W, H);
    ctx.beginPath();
    ctx.strokeStyle = bgcolor;
    ctx.lineWidth = 4;
    ctx.arc(W/2, H/2, 60, 0, Math.PI*2, false);
    ctx.stroke();
    var radians = degrees * Math.PI / 180;
    ctx.beginPath();
    ctx.strokeStyle = color;
    ctx.lineWidth = 4;
    ctx.arc(W/2, H/2, 60, 0 - 90*Math.PI/180, radians - 90*Math.PI/180, false);
    ctx.stroke();
    ctx.fillStyle = color;
    ctx.font = "45px bebas";
    text = Math.floor(degrees/360*100) + "%";
    text_width = ctx.measureText(text).width;
    ctx.fillText(text, W/2 - text_width/2, H/2 + 15);
  }
  function draw()
  {
    if(typeof animation_loop != undefined) clearInterval(animation_loop);
    new_degrees = 126;
    difference = new_degrees - degrees;
    animation_loop = setInterval(animate_to, 1000/difference);
  }
  function animate_to()
  {
    if(degrees < new_degrees)
      degrees++;
    else
      degrees--;
    if(degrees == new_degrees)
      clearInterval(animation_loop);
    init();
  }
  draw();
};

Последний раз редактировалось walker1232, 03.12.2015 в 08:01.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как организовать RichEdit arma Элементы интерфейса 2 18.02.2010 14:57
О наследовании событий, или как корректно его отменить. JCShen Events/DOM/Window 8 09.02.2010 00:00
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20