Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2024, 15:38
Аватар для cupoma58
Интересующийся
Отправить личное сообщение для cupoma58 Посмотреть профиль Найти все сообщения от cupoma58
 
Регистрация: 10.11.2016
Сообщений: 17

Вертикальный прогресс-бар, смена направления прогрсса
Есть рабочий плеер, для сайта, с вертикальным прогрессом воспроизведения и звука.
HTML:
Код:
<span class="progres-bar" title="прогресс"><span class="progres"></span></span>
CSS:
Код:
.progres-bar {
    position: absolute;
    width: 30px;
    height: 68%;
    top: 0;
    right: 0; 
    display: flex;
    align-items: flex-start;               /* сверху-вниз, по оси Y */
    background: #696969;
    cursor: pointer; 
}
.progres {
    -webkit-transition: height 0.6s ease;   
    height: 0;
    width: 100%;
    background: #cc7600; 
}
JS:
Код:
    var size = (video.currentTime * 100) / video.duration; 
    progres.style.height = size + '%'; 
    .....
    var mouseY = e.offsetY;
    progres.style.height = (mouseY * 100) / pb.offsetHeight  + '%';
    .....
    var value = (mouseY * 100) / sb.offsetHeight;
    saund.style.height = value + '%'; 
    video.volume = value / 100;
Прогресс растёт сверху-вниз (по Y) и с выбором эпизода/громкости - всё нормально.
При запуске прогресса снизу-вверх (flex:end), выбор более позднего эпизода - сталкивается с фактическим уменьшение времени воспроизведения.
Что посоветуете?
Изображения:
Тип файла: png web.png (153.3 Кб, 2 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2024, 15:46
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

а) Пересчитывать математику, а не только менять css.
б) Не трогать flex, а просто использовать transform: rotate(180deg).
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 26.11.2024, 12:10
Аватар для cupoma58
Интересующийся
Отправить личное сообщение для cupoma58 Посмотреть профиль Найти все сообщения от cupoma58
 
Регистрация: 10.11.2016
Сообщений: 17

Сообщение от Aetae
просто использовать transform: rotate(180deg)
Благодарю за подсказку. Именно
-webkit-transform: rotate(180deg);

спасло "отца русской демократии". А, ведь, на поверхности лежало.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добиться, чтобы прогресс бар в модальном окне запускался после клика по ссылке да Lefseq Общие вопросы Javascript 3 06.10.2019 20:39
Прогресс бар. Что поменять? massimo_pazzi Элементы интерфейса 1 16.01.2015 10:13
Прогресс бар kn1ght Элементы интерфейса 7 15.01.2015 14:48
прогресс бар domius (X)HTML/CSS 2 14.07.2014 15:48
Прогресс бар Jmunb Events/DOM/Window 3 01.12.2011 23:01