Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2024, 11:21   #1
cupoma58
Пользователь
 
Аватар для cupoma58
 
Регистрация: 12.08.2014
Сообщений: 58
По умолчанию Вертикальный прогресс-бар

Привет.
Это - плеер.
Небольшая проблема - в прогресс-блоке. Прогрессы, у меня - вертикальные.
Индикатор прогресса (верхний):
Код:
HTML:
<span class="progres-bar"><span class="progres"></span></span>

CSS:
.progres-bar {
    position: relative;
    width: 100%;
    height: 68%;
    margin-top: 3px;
    display: flex;
    align-items: flex-start;
    background: #696969;
    cursor: pointer; 
}
.progres {
    -webkit-transition: height 0.6s ease;
    height: 0;
    width: 100%;
    background: #cc7600; 
}

JS:
// инициация прогресса:
video.addEventListener('timeupdate', () => { 
    var size = (video.currentTime * 100) / video.duration; 
    progres.style.height = size + '%';    
    elapsed.innerHTML = setTime(video.currentTime); 
});

// выбор эпизода:
pb.addEventListener('click', (e) => { 
    var mouseY = e.offsetY;
    progres.style.height = (mouseY * 100) / progres-bar.offsetHeight  + '%';    
    video.currentTime = (video.duration * mouseY) / progres-bar.offsetHeight;  
});
Индикатор звука (нижний):
Код:

HTML:
<span class="saund-bar"><span class="saund"></span></span>

CSS:
.saund-bar {
    position: relative;
    width: 100%;
    height: 27%;
    margin-top: 3px;
    display: flex;
    align-items: flex-start;    
    background: #696969;
    cursor: pointer; 
}
.saund {
    -webkit-transition: height 0.6s ease;
    height: 10%;
    width: 100%;
    background: #cc7600; 
}

JS:
// выбор уровня громкости:
sb.addEventListener('mousedown', (e) => { 
    var mouseY = e.offsetY, 
        value = (mouseY * 100) / saund-bar.offsetHeight;
    saund.style.height = value + '%';
    video.volume = value / 100;   
});
Оба прогресса, адекватно, работают т о л ь к о сверху-вниз (Х-вправо, Y-вниз).
Если поменять flex-start на flex-end, т.е. - снизу-вверх, значения, при выборе,
меняются - само-произвольно.
Что посоветуете со сменой направления прогресса?
Изображения
Тип файла: jpg web.jpg (18.5 Кб, 0 просмотров)
cupoma58 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вертикальный слайдер или ..? Jonny316 PHP 3 22.10.2014 12:56
Вертикальный текст. tema654 Паскаль, Turbo Pascal, PascalABC.NET 1 31.03.2011 10:30
Вертикальный график Araver Общие вопросы Delphi 8 29.06.2009 08:16
Вертикальный StaticText Abbatik Помощь студентам 1 21.02.2008 00:00