Вращение картинки по клику
Здравствуйте уважаемые умы. Помогите пожалуйста.Я создал онлайн радио, и на нём нужно сделать так, чтобы при нажатии на кнопку Play начинала крутиться картинка до тех пор, пока не нажмёшь на Pause и тогда картинка переставала крутиться. Буду очень вам благодарен.Ниже код
<div style="text-align: center;"> <div class="radiocontainer"> <div class="radio-block" style="background: url('cover.png') no-repeat;"> <div id="jquery_jplayer_1" class="jp-jplayer"></div> <div id="jp_container_1" class="jp-audio-stream"> <div class="jp-type-single"> <div class="jp-gui jp-interface"> <ul class="jp-controls"> <li><a href="javascript:;" class="jp-play" tabindex="1">Play</a></li> <li><a href="javascript:;" class="jp-pause" tabindex="1">Pause</a></li> <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">Mute</a></li> <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">Unmute</a></li> <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">Max volume</a></li> </ul> <div class="jp-volume-bar"> <div class="jp-volume-bar-value"></div> </div> <div class="jp-current-time"></div> </div> </div> </div> </div> </div> </div> Вращать надо вот эту картинку <div class="radio-block" style="background: url('cover.png') no-repeat;"> |
Цитата:
|
Цитата:
|
Цитата:
У тебя машина есть? Так вот автомеханики (и не только они) ничего бесплатно вообще не делают. :D Что же ты нас так не уважаешь? |
Представь такой диалог в автосервисе...
- Добрый день, что у вас с лучилось? - Да вот машина барахлит... Сам я в этом не шарю... Т.ч. приехал к вам, думал вы ее отремонтируете. - :blink: ??? |
Цитата:
P/s сто раз видел как тут людям бесплатно помогали. Для знающего делов 2мин. Как и писал выше, был бы богат деньгами, одарил бы без проблем. Буду ждать того кто поможет бесплатно, выхода нет. Ну в край могу последние 100р со счёта телефона перевести. |
Цитата:
Как вращать фоновое изображение лично я в душе не чаю. Вижу только вариант с выделением этого изображения в отдельный элемент, который будет фоном для всего этого блока. |
Цитата:
|
Попробуйте так (элемент с классом .radio-block__bg-image нужно сделать фоном всего блока):
<div style="text-align: center;"> <div class="radiocontainer"> <div class="radio-block" style="background: url('cover.png') no-repeat;"> <img src="cover.png" class="radio-block__bg-image js-rotatable-image"/> <div id="jquery_jplayer_1" class="jp-jplayer"></div> <div id="jp_container_1" class="jp-audio-stream"> <div class="jp-type-single"> <div class="jp-gui jp-interface"> <ul class="jp-controls"> <li><a href="javascript:;" class="jp-play js-play-button" tabindex="1">Play</a></li> <li><a href="javascript:;" class="jp-pause js-pause-button" tabindex="1">Pause</a></li> <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">Mute</a></li> <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">Unmute</a></li> <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">Max volume</a></li> </ul> <div class="jp-volume-bar"> <div class="jp-volume-bar-value"></div> </div> <div class="jp-current-time"></div> </div> </div> </div> </div> </div> </div> <script> (function(){ const img=document.querySelector('.js-rotatable-image'); const playButton=document.querySelector('.js-play-button'); const cancelButton=document.querySelector('.js-pause-button'); const degreePerCall=1; let isPlays=false; let curDegree=0; [playButton,cancelButton].forEach(function(node,i){ node && node.addEventListener('click',function(){ isPlays=!i; }); }); requestAnimationFrame(function rotate(){ if(isPlays){ curDegree=(curDegree+degreePerCall)%360; img.style.transform='rotate('+curDegree+'deg)'; }; requestAnimationFrame(rotate); }); })(); </script> |
Цитата:
Слава богу, что есть на свете ещё такие люди. Дай бог вам всего хорошего. |
Часовой пояс GMT +3, время: 20:46. |