У меня есть кнопка, которая воспроизводит и останавливает видео. Как можно эффективно переключаться между.play() и.pause()?
<button id="thebutton" onclick="BV.getPlayer().play();"></button>
Во-первых, я бы предложил не использовать встроенные обработчики событий. Если вы используете jQuery, то я предлагаю вам использовать это.
После каждого щелчка задайте переменную, чтобы указать, воспроизводится она или нет, затем активируйте правильное действие.
$(function(){
$('#thebutton').click(function(){
var isPlaying = $(this).data('isplaying');
if(isPlaying){
BV.getPlayer().pause();
}
else{
BV.getPlayer().play();
}
$(this).data('isplaying', !isPlaying);
});
});
jQuery имел .toggle()
иметь .toggle()
"event", но он был удален.
Добавьте класс, который действует как проверка статуса игрока. И затем используйте этот код.
$("#theButton").click(function() {
if($(this).hasClass('playing')) {
BV.getPlayer().pause();
} else {
BV.getPlayer().play();
}
$(this).toggleClass('playing')
})
var isPlaying = false;
var player = BV.getPlayer();
$("#thebutton").click(function() {
if (isPlaying) {
player.pause();
isPlaying = false;
} else {
player.play();
isPlaying = true;
}
});
$('#thebutton').click(function() {
if ($(this).val() == "play") {
$(this).val("pause");
play_int();
}
else {
$(this).val("play");
play_pause();
}
});
или
$(function(){
$('#play').click(function() {
// if the play button value is 'play', call the play function
// otherwise call the pause function
$(this).val() == "play" ? play_int() : play_pause();
});
});
function play_int() {
$('#play').val("pause");
// do play
}
function play_pause() {
$('#play').val("play");
// do pause
}