HTML5 Javascript播放/暂停按钮
HTML5 Javascript Play/Pause button
我正在尝试自定义视频播放器上的控制按钮。目前我有一个按钮可以播放和暂停我的视频。这很有效。尽管我想要播放和暂停按钮的视觉表示,而不是在暂停状态或视频播放时保持不变。我计划有两个单独的图像播放和暂停。
我的问题是,我无法让我的javascript切换我的按钮,我认为切换按钮的最佳方式是当一个按钮暂停时,隐藏一个元素,当视频播放时隐藏另一个元素。
以下是我目前拥有的:
function playPause() {
mediaPlayer = document.getElementById('media-video');
if (mediaPlayer.paused)
mediaPlayer.play();
$('.play-btn').hide();
else
mediaPlayer.pause();
$('.pause-btn').hide();
}
非常感谢您的帮助。
您需要在if and else 中使用更多大括号"{}"
function playPause() {
var mediaPlayer = document.getElementById('media-video');
if (mediaPlayer.paused) {
mediaPlayer.play();
$('.pause-btn').show();
$('.play-btn').hide();
} else {
mediaPlayer.pause();
$('.play-btn').show();
$('.pause-btn').hide();
}
}
我觉得效果很好。
例如:
function togglePlayPause() {
// If the mediaPlayer is currently paused or has ended
if (mediaPlayer.paused || mediaPlayer.ended) {
// Change the button to be a pause button
changeButtonType(playPauseBtn, 'pause');
// Play the media
mediaPlayer.play();
}
// Otherwise it must currently be playing
else {
// Change the button to be a play button
changeButtonType(playPauseBtn, 'play');
// Pause the media
mediaPlayer.pause();
}}
来源:http://www.creativebloq.com/html5/build-custom-html5-video-player-9134473
/* in Jquery*/
$('#play-pause-button').click(function () {
if ($("#media-video").get(0).paused) {
$("#media-video").get(0).play();
}
else {
$("#media-video").get(0).pause();
}
});
视频是DOM元素,而不是javascript函数;
这里有两个例子,每个例子都带有html、css和js。
const $ = (s, c = document) => c.querySelector(s);
const $$ = (s, c = document) => Array.prototype.slice.call(c.querySelectorAll(s));
function main(){
/* Example 1 */
// optional code to trigger click for label when 'Space' key pressed
$$('label.btn-toggle').forEach((label) => {
label.addEventListener('keypress', (e) => {
if(e.key === ' ' || e.code === 'Space'){
let input = e.target.control;
if(input){
input.click();
}
}
});
});
$('#btnPlayPause>input[type="checkbox"]').addEventListener('click', (e) => {
let input = e.target;
if(input.parentNode.getAttribute('aria-disabled') === 'true'){
e.preventDefault();
return;
}
if(input.checked){
// TODO play
console.log('playing');
}else{
// TODO pause
console.log('paused');
}
});
/* Example 2 */
$('#btnMuteUnmute').addEventListener('click', (e) => {
let button = e.target;
let isOn = button.value==='on';
if(!isOn){
// TODO mute
console.log('muted');
}else{
// TODO unmute
console.log('unmuted');
}
button.value = isOn?'off':'on';
});
}
document.addEventListener('DOMContentLoaded', main);
/* Example 1 */
label.btn-toggle{
font-size: 13.3333px;
font-family: sans-serif;
display: inline-flex;
flex-flow: row wrap;
align-content: center;
justify-content: center;
cursor: default;
box-sizing: border-box;
margin: 0px;
padding: 1px 6px;
background-color: #efefef;
color: buttontext;
border: 1px solid buttonborder;
border-radius: 2px;
user-select: none;
}
label.btn-toggle:hover{
background-color: #dfdfdf;
}
label.btn-toggle:active{
background-color: #f5f5f5;
}
.btn-toggle>input[type="checkbox"]:not(:checked)~.on-text{
display: none;
}
.btn-toggle>input[type="checkbox"]:checked~.off-text{
display: none;
}
#btnPlayPause{
width: 60px;
height: 60px;
}
/* Example 2 */
button.btn-toggle[value="on"]::after{
content: attr(data-on-text);
}
button.btn-toggle[value="off"]::after{
content: attr(data-off-text);
}
#btnMuteUnmute{
width: 60px;
height: 60px;
}
<!-- Example 1 -->
<label id="btnPlayPause" role="button" class="btn-toggle" tabindex="0" title="Play / Pause">
<input type="checkbox" tabindex="-1" autocomplete="off" hidden aria-hidden="true" />
<span class="on-text">Pause</span>
<span class="off-text">Play</span>
</label>
<!-- Example 2 -->
<button id="btnMuteUnmute" type="button" class="btn-toggle"
value="off" data-on-text="Unmute" data-off-text="Mute" title="Mute / Unmute"></button>
相关文章:
- jQuery:暂停按钮可以暂停所有其他操作
- 具体化:如何只使用HTML和Javascript制作播放/暂停按钮
- 暂停按钮代码
- 带有音频标签的多个播放/暂停按钮
- HTML5 Javascript播放/暂停按钮
- <音频>播放/暂停按钮更改
- 在HTML音频播放器中切换播放/暂停按钮
- 弹性滑块暂停按钮
- 在仅幻灯片 JavaScript 上添加播放/暂停按钮
- 如果鼠标移动到图像上,我如何添加鼠标事件,它将显示播放/停止/暂停按钮
- Javascript禁止点击/暂停音频的暂停按钮
- 在ng重复播放/暂停按钮上使用ng show
- 倒计时计时器:暂停按钮获胜't暂停或改回播放按钮
- Wistia API播放/暂停按钮
- Javascript-视频播放/暂停按钮
- 暂停按钮不工作的背景视频
- 为什么我的暂停按钮不工作时,使用javascript设计定时器
- 视频播放暂停按钮动画
- 播放/暂停按钮的youtube视频
- jquery工具切换播放/暂停按钮可滚动