Самый эффективный способ приостановить HTML Marquee без мыши

Как говорится в заголовке, мне нужно приостановить прокрутку текста в html-рамке.

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

Моя первоначальная мысль заключалась в том, чтобы получить небольшую Bluetooth-клавиатуру (поскольку она довольно дешевая) и поставить ее на пол, где я стою, что также не будет беспокоить мои руки. Затем я могу сделать паузу и воспроизвести скроллер без каких-либо проблем.

Итак, я думаю, вопрос в том, могу ли я приостановить его, например, с помощью пробела на клавиатуре с помощью javascript, если да, то как?

Вот мой шатер (это его переделка, так как оригинал стоит на моем ноутбуке):

<body style="styles-here">
<marquee style="styles-here" behavior="scroll">
    TEXT TO SCROLL
</marquee>

Любая помощь приветствуется!


person haydenbarton96    schedule 28.11.2014    source источник
comment
Вы не должны использовать тег <marquee>. См. developer.mozilla.org/en-US/docs/Web. /HTML/Элемент/выступающая область   -  person j08691    schedule 28.11.2014
comment
Это не общедоступно и будет использоваться только для прокрутки текста, чтобы я мог его прочитать, все это локально на моем ноутбуке. Что еще вы мне порекомендуете использовать? Выступающие швы работают именно так, как я хотел до сих пор. Я просто хочу иметь возможность ставить на паузу и воспроизводить с помощью пробела на клавиатуре (или любой другой кнопки).   -  person haydenbarton96    schedule 28.11.2014
comment
Похоже, что для выделения доступен метод stop.   -  person jasonscript    schedule 28.11.2014
comment
Я знаю, как останавливать и запускать бегущую строку с помощью кнопок, но как мне привязать эти кнопки к нажатию клавиатуры?   -  person haydenbarton96    schedule 28.11.2014


Ответы (2)


Вы можете использовать методы stop и start

var state = 'play';

function toggleMarquee() {
    var marquee = document.getElementById("marq");
    if (state === 'play') {
        marquee.stop();
        state = 'stop';
    } else {
        marquee.start();
        state = 'play';
    }

}
<marquee id="marq">This text will scroll from right to left</marquee>
<input type="button" onclick="toggleMarquee();" value="Toggle" />

ИЗМЕНИТЬ

Чтобы добавить сочетания клавиш к кнопкам, см. здесь: Как создать сочетание клавиш для кнопки ввода

person jasonscript    schedule 28.11.2014
comment
Привет, спасибо за ответ! хотя я хочу, чтобы он останавливался / запускался нажатием клавиши (на самом деле нужна любая клавиша на клавиатуре, но в основном нужен пробел) - person haydenbarton96; 28.11.2014
comment
@ haydenbarton96 см. мой ответ, отредактированный. В stackoverflow есть много сообщений о том, как запускать события при нажатии клавиши. - person jasonscript; 28.11.2014
comment
Спасибо, это здорово! :) - person haydenbarton96; 28.11.2014

  <marquee onmouseover="this.stop();" onmouseout="this.start();">my text here</marquee>

Это должно выполнять запрошенную работу.

Спасибо, Пав.

person Pavithra Ashwath    schedule 28.11.2014