Задать вопрос
Ответы пользователя по тегу CSS
  • Делаю свой видеоплеер: при попытке перемотать видео, ползунок возвращается в начало и видео начинается заново. Что не так?

    rc-dm
    @rc-dm
    Full-Stack Web Developer
    Вы не учитываете правильное положение клика относительно прогресс-бара

    progressbar.addEventListener('click', (event) => {
        event.preventDefault();
    
        // Получаем позицию и размеры прогресс-бара
        const rect = progressbar.getBoundingClientRect();
        
        // Вычисляем новое время на основе положения клика
        const newTime = ((event.clientX - rect.left) / rect.width) * video.duration;
        console.log('New time:', newTime);
    
        if (video && progressbar) {
            video.currentTime = newTime;
        } else {
            console.error('Видео или прогрессбар не найден');
        }
    });
    Ответ написан
  • Как при скролле создать класс и переместить в него некоторые элементы?

    rc-dm
    @rc-dm
    Full-Stack Web Developer
    Решение

    Исходный HTML
    <h2>Greetings</h2>
    <div class="container">
      <div class="inner">Hello</div>
      <div class="inner">Goodbye</div>
    </div>

    Вставляем элемент "h2" внутрь элемента с классом "container"
    ("prepend" - в начало / "append" - в конец)
    $('.container').append($('h2'));

    Результат
    <div class="container">
      <div class="inner">Hello</div>
      <div class="inner">Goodbye</div>
      <h2>Greetings</h2>
    </div>


    Ты можешь не только использовать это на существующем элементе, но и создать новый налету
    $('.container').prepend('<h1>Hello World!</h1>');

    <h2>Greetings</h2>
    <div class="container">
      <h1>Hello World!</h1>
      <div class="inner">Hello</div>
      <div class="inner">Goodbye</div>
    </div>


    Если я правильно понял, ты хочешь сделать "липкую" панель навигации и у неё есть дополнительные блоки, которые также должны сохранять относительную позицию при прокрутке страницы.

    В вёрстке нет класса "header__menu"
    Можешь прислать скриншот как это выглядит?
    Возможно тебе просто нужно создать родительский блок для всех них и уже к нему применять стиль fixed
    Ответ написан