Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30

Анимация работы компьютерного вентилятора

27.08.2019, 11:30. Показов 1455. Ответов 7

Студворк — интернет-сервис помощи студентам
Каким нормальным образом можно реализовать анимация работы компьютерного вентилятора?

Т.е. мне нужно отображать состояния вентилятора выключен/ работает(анимация) и желательно что бы можно было изменять скорость вращения/анимации.

Приблизительный вид как на рисунке, можно и более в упрощенном виде.
На чем такое вообще по нормальному делается?
Миниатюры
Анимация работы компьютерного вентилятора  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.08.2019, 11:30
Ответы с готовыми решениями:

Принцип работы вентилятора на БП
Здравствуйте, имеется БП Thermaltake TR2 Power 550W (W0101) Не могу понять, регулируется ли скорость вращения вентилятора у него? Слишком...

Снижение работы вентилятора процессора в простое
Имею кулер Zalman 10x optima. Проц в простое 33-38 градусов (intel i5), обороты кулера >1150. Хочу уменьшить обороты кулера до его минимума...

Холодильник Indesit PBAA34NF S/n 005243052, Принцип работы вентилятора no-frost
Предистория такова 2 года назад делал этот холодильник: перенапряг- ремонт модуля (БП+симистор вентилятора No-frost)+ замена двигателя...

7
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
27.08.2019, 14:07
Avazart, можно взять svg
HTML5
1
2
3
4
5
6
7
<svg viewBox="0 0 981 980">
  <g fill="#000" fill-rule="nonzero">
    <path d="M98 87c-15 9-19 28-11 43 14 24 49 21 58-5 9-21-7-43-31-43-6 0-11 1-16 5zM419 454a81 81 0 0 0 61 117c44 6 86-25 92-69 7-54-39-100-94-92-23 3-48 22-59 44zM851 87c-9 4-17 17-17 27l4 13c15 33 62 22 62-14 0-24-27-39-49-26zM855 837c-10 4-14 8-18 18-4 9-3 16 1 26 6 12 18 18 32 17 17-1 28-12 29-29 1-14-5-26-17-32-10-5-18-5-27 0zM100 838c-29 15-19 60 14 60 24 0 40-22 32-43-5-10-9-14-18-18-10-5-18-5-28 1z"/>
    <path d="M43 3C32 7 21 15 13 26 0 43 1 9 1 494l1 440 4 9c6 13 18 25 31 32l11 5h887l11-5c12-7 25-19 31-32l4-9V47l-5-11c-6-13-19-25-32-31l-9-4-441-1C71 0 53 0 43 3zm101 52c12 6 25 19 31 32 4 9 5 14 5 27s-1 17-6 28c-8 15-18 25-33 32s-37 7-52 0a66 66 0 0 1-34-83c5-15 21-32 36-37 14-6 39-5 53 1zm402-3a443 443 0 0 1 384 483 443 443 0 0 1-483 394A443 443 0 0 1 94 298 443 443 0 0 1 546 52zm351 4c14 8 26 22 31 35 6 16 5 38-2 52-7 13-19 25-32 31-16 7-37 7-53 0a65 65 0 0 1 5-122c4-2 12-2 24-2 15 0 18 1 27 6zM133 804c19 6 33 17 42 36 7 16 7 37 0 53-6 13-17 25-31 32s-36 8-52 2c-13-5-27-17-35-31-5-9-5-12-5-29s0-21 4-29c14-29 47-43 77-34zm760 2c14 7 24 16 31 30a64 64 0 0 1-87 87 65 65 0 0 1 12-119c12-4 32-3 44 2z"/>
    <path class="blades" d="M535 103c35 57 48 96 50 148 1 45-6 78-26 121l-10 20 10 6 17 16 9 9 12-9c16-13 39-37 51-54 33-50 48-109 48-192v-32l-25-13c-46-22-96-35-147-40l11 20zm-174 0a418 418 0 0 0-133 77l21 6c28 6 60 18 84 30 58 30 99 77 122 142 7 18 8 20 12 20l24-1 19-1 2-10c3-19 1-63-2-81-9-42-28-81-61-122-14-19-61-67-64-67l-24 7zm440 125l-5 21c-25 106-81 172-172 205-19 7-21 8-20 12l1 24v19l17 2c22 3 39 3 61-1 62-9 115-39 177-98l27-27-8-24c-16-50-42-95-76-135l-2 2zM85 458l19-12 42-23c73-37 160-36 232 2l15 7 6-9 16-18 9-8-11-14c-37-47-88-76-155-90-28-6-52-8-89-8h-32l-13 26c-21 46-35 96-39 147zm212 12c-61 10-121 44-182 106l-19 19 8 24c16 50 42 95 76 135l8-25c16-65 36-103 71-139 28-29 59-49 100-64 18-6 20-7 20-11l-1-24-1-19-16-3c-21-2-42-2-64 1zm584 63c-55 35-106 52-158 52-40 0-72-8-112-26l-21-11-7 10c-3 5-10 13-15 17l-10 9 12 14c52 66 130 97 243 97h33l12-25c22-46 36-96 40-147l-17 10zm-495 34c-16 12-41 38-52 55-33 50-48 109-48 190v32l15 8c49 25 103 40 158 45l-12-20c-35-58-49-104-49-156 0-41 7-72 26-113l9-19-9-7-18-15-8-10-12 10zm97 37l-10-1-2 11c-3 20-2 63 2 81 12 59 46 114 104 172l20 19 24-8c49-17 95-43 134-77l-25-7c-34-9-56-17-80-29-59-30-99-77-122-143-4-11-9-20-10-20l-13 2h-22z"/>
  </g>
</svg>
и анимировать
CSS
1
2
3
4
5
6
7
8
9
10
11
12
.blades {
  transform-origin: 50% 50%;
  animation: spin 1s /*оборот за 1секунду*/ linear infinite; 
}
@keyframes spin {
  from {
    transform:rotate(0deg);
  }
  to {
    transform:rotate(360deg);
  }
}
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.08.2019, 14:08  [ТС]
А запускать/останавливать/менять скорость как?

Можно как то через js это провернуть?
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
27.08.2019, 14:14
Цитата Сообщение от Avazart Посмотреть сообщение
А запускать/останавливать/менять скорость как?
Avazart, чтобы изменить скорость меняете свойство animation-duration. Останавливать и запускать добавляя и удаляя свойство animation. Этим всем js будете управлять?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.08.2019, 14:30  [ТС]
Да js будет запрос делать и по ответу изменять анимацию.
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
27.08.2019, 14:36
Avazart, как-то так
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<style>
  .cooler {
  }
  .cooler__blades {
    transform-origin: 50% 50%;
  }
  .cooler--state_on .cooler__blades {
    animation-name: spin;
    animation-duration: 0;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  @keyframes spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
</style>
<svg viewBox="0 0 981 980" class="cooler">
  <g fill="#000" fill-rule="nonzero">
    <path
      d="M98 87c-15 9-19 28-11 43 14 24 49 21 58-5 9-21-7-43-31-43-6 0-11 1-16 5zM419 454a81 81 0 0 0 61 117c44 6 86-25 92-69 7-54-39-100-94-92-23 3-48 22-59 44zM851 87c-9 4-17 17-17 27l4 13c15 33 62 22 62-14 0-24-27-39-49-26zM855 837c-10 4-14 8-18 18-4 9-3 16 1 26 6 12 18 18 32 17 17-1 28-12 29-29 1-14-5-26-17-32-10-5-18-5-27 0zM100 838c-29 15-19 60 14 60 24 0 40-22 32-43-5-10-9-14-18-18-10-5-18-5-28 1z"
    />
    <path
      d="M43 3C32 7 21 15 13 26 0 43 1 9 1 494l1 440 4 9c6 13 18 25 31 32l11 5h887l11-5c12-7 25-19 31-32l4-9V47l-5-11c-6-13-19-25-32-31l-9-4-441-1C71 0 53 0 43 3zm101 52c12 6 25 19 31 32 4 9 5 14 5 27s-1 17-6 28c-8 15-18 25-33 32s-37 7-52 0a66 66 0 0 1-34-83c5-15 21-32 36-37 14-6 39-5 53 1zm402-3a443 443 0 0 1 384 483 443 443 0 0 1-483 394A443 443 0 0 1 94 298 443 443 0 0 1 546 52zm351 4c14 8 26 22 31 35 6 16 5 38-2 52-7 13-19 25-32 31-16 7-37 7-53 0a65 65 0 0 1 5-122c4-2 12-2 24-2 15 0 18 1 27 6zM133 804c19 6 33 17 42 36 7 16 7 37 0 53-6 13-17 25-31 32s-36 8-52 2c-13-5-27-17-35-31-5-9-5-12-5-29s0-21 4-29c14-29 47-43 77-34zm760 2c14 7 24 16 31 30a64 64 0 0 1-87 87 65 65 0 0 1 12-119c12-4 32-3 44 2z"
    />
    <path
      class="cooler__blades"
      d="M535 103c35 57 48 96 50 148 1 45-6 78-26 121l-10 20 10 6 17 16 9 9 12-9c16-13 39-37 51-54 33-50 48-109 48-192v-32l-25-13c-46-22-96-35-147-40l11 20zm-174 0a418 418 0 0 0-133 77l21 6c28 6 60 18 84 30 58 30 99 77 122 142 7 18 8 20 12 20l24-1 19-1 2-10c3-19 1-63-2-81-9-42-28-81-61-122-14-19-61-67-64-67l-24 7zm440 125l-5 21c-25 106-81 172-172 205-19 7-21 8-20 12l1 24v19l17 2c22 3 39 3 61-1 62-9 115-39 177-98l27-27-8-24c-16-50-42-95-76-135l-2 2zM85 458l19-12 42-23c73-37 160-36 232 2l15 7 6-9 16-18 9-8-11-14c-37-47-88-76-155-90-28-6-52-8-89-8h-32l-13 26c-21 46-35 96-39 147zm212 12c-61 10-121 44-182 106l-19 19 8 24c16 50 42 95 76 135l8-25c16-65 36-103 71-139 28-29 59-49 100-64 18-6 20-7 20-11l-1-24-1-19-16-3c-21-2-42-2-64 1zm584 63c-55 35-106 52-158 52-40 0-72-8-112-26l-21-11-7 10c-3 5-10 13-15 17l-10 9 12 14c52 66 130 97 243 97h33l12-25c22-46 36-96 40-147l-17 10zm-495 34c-16 12-41 38-52 55-33 50-48 109-48 190v32l15 8c49 25 103 40 158 45l-12-20c-35-58-49-104-49-156 0-41 7-72 26-113l9-19-9-7-18-15-8-10-12 10zm97 37l-10-1-2 11c-3 20-2 63 2 81 12 59 46 114 104 172l20 19 24-8c49-17 95-43 134-77l-25-7c-34-9-56-17-80-29-59-30-99-77-122-143-4-11-9-20-10-20l-13 2h-22z"
    />
  </g>
</svg>
<script>
  const cooler = document.querySelector(".cooler");
  const coolerBlades = cooler.querySelector(".cooler__blades");
 
  function on() {
    cooler.classList.add("cooler--state_on");
  }
 
  function off() {
    cooler.classList.remove("cooler--state_on");
  }
  function setSpeed(speed) {
    coolerBlades.style.animationDuration = 1 / speed + "s";
  }
  setTimeout(function() {
    on();
  }, 1000);
  setTimeout(function() {
    setSpeed(1);
  }, 1000);
  setTimeout(function() {
    setSpeed(5);
  }, 3000);
  setTimeout(function() {
    off();
  }, 5000);
</script>
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.08.2019, 16:25  [ТС]
Еще такой вопрос правильно я понимаю содержимое тега svg т.е саму картину в отдельный файл не получится вынести так как скрипты перестанут видеть?
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
27.08.2019, 16:42
Цитата Сообщение от Avazart Посмотреть сообщение
Еще такой вопрос правильно я понимаю содержимое тега svg т.е саму картину в отдельный файл не получится вынести так как скрипты перестанут видеть?
Avazart, на сколько я знаю никак не вынести, хотя, можно из js подгружать, но если всего 1 svg, то это лишнее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.08.2019, 16:42
Помогаю со студенческими работами здесь

Кондиционер EWT Clima S-071HP Завышены обороты вентилятора, Завышены обороты вентилятора внутреннего блка
Кондиционер EWT Clima S-071HP Завышены обороты вентилятора внутреннего блока Состав процессор управления 024BZ0T, Коммутатор ULN2003,...

Добавление компьютерного игрока
Подскажите пожалуйсто, что я не так и может не туда пишу)) но компьютерный ход в крестиках ноликах работает как-то неправильно... ...

Апгрейд компьютерного железа
Всем привет, помогите пожалуйста решить что стоит поменять на моем ПК . Компьютер нужен для игр типо Gta5 Battlefield 4 и к релизу...

БД по учету компьютерного оборудования
Есть ли у кого бд,связанная с учетом компьютерного оборудования, или хотя бы образец похожего?

система компьютерного обучения
Уважаемые гуру! Написал прогу САБЖ. Юзер вводит ответ на пример, который задает программа. Если ответ true - выводит рандомно реплики по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru