Как сбросить позицию тега marquee?

Ссылка скопирована
17 марта 2026 1 ответ

Добавил в интерфейс для длинных строк тег marquee и запуск при наведении мыши, все устраивает, кроме того, что анимация только останавливается, но строка не сбрасывается на начало.

<marquee behavior="alternate" onmouseout="this.stop();" onmouseover="this.start();">Test</marquee>

<marquee behavior="alternate" onmouseout="this.stop();" onmouseover="this.start();">Test</marquee>

Дополнительно:

этот тег давно в состоянии deprecated, используйте CSS.

  • modelair, жаль слишком удобно, как еще создать одной строкой текст ползающий влево вправо?
  • psiklop, https://developer.mozilla.org/en-US/docs/Web/CSS/a...
    https://www.w3schools.com/css/css3_animations.asp
    прочтите, посмотрите примеры. ничего сложного.
    ключевые слова css animation
  • modelair, овчина выделки не стоит.
  • psiklop, у страха глаза велики
  • psiklop, тогда никак не сбросить.
  • modelair, дело не в страхе, человек так устроен забывает все, что не использует. CSS анимации я буду использовать на 1% примерно раз в 3 года и несомненно мне придется учить это заново каждый раз.
  • Ответы:

    Никак.

    К тому же marquee уже deprecated, используйте CSS анимации - там это делается не очень то и сложно.

    • Настолько несложно, что все об этом пишут, но никто не удосужился дать строчку.

    Решение такое напрашивается, мудрено, зато работает.

    <h6 onmouseleave="this.innerHTML='<marquee behavior="alternate">Test</marquee>'; this.firstChild.stop()" onmouseenter="this.firstChild.start();"> тут оригинальный тег </h6>

    <h6 onmouseleave="this.innerHTML='<marquee behavior="alternate">Test</marquee>'; this.firstChild.stop()" onmouseenter="this.firstChild.start();"> тут оригинальный тег </h6>

    • Еще можно оптимизировать и не писать изначально тег в html, вместо этого добавить в начало onmouseenter $(this).trigger('mouseleave');
      Но это уже jquery.
    • Самый лучший вариант убрать start и stop вообще.
      Добавить родителю в mouseenter - запись тега, в mouseleave запись текста (можно ограничить длину через substr и добавить многоточие а конце), поставить родителю height, иначе тег ее увеличивает и выходят некрасивые подергивания при mouseenter. И вуаля будет красота.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Максим Павлов Ответ

    Для сброса позиции тега marquee можно использовать следующий подход:

    1. Если вы хотите сбросить позицию marquee в верхнюю или левую часть экрана, можно просто добавить css свойства для тега marquee:

    marquee {
        position: absolute;
        top: 0;
        left: 0;
    }

    marquee { position: absolute; top: 0; left: 0; }

    2. Если вы хотите сбросить позицию marquee в центр экрана, то можно использовать следующий код:

    marquee {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    marquee { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); }

    3. Если вам нужно сбросить позицию marquee в другое место, вы можете экспериментировать с различными значениями свойств top, left и transform.

    4. Также учтите, что использование тега marquee считается устаревшим и не рекомендуется к использованию в современной веб-разработке. Рекомендуется использовать CSS анимации для создания подобных эффектов.

    Надеюсь, это поможет вам сбросить позицию тега marquee на вашем веб-сайте. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно