【发布时间】:2025-12-01 05:25:01
【问题描述】:
我有一个 Brightcove 播放器,我想在播放器暂停时将播放按钮更改为暂停按钮。
这是播放器:
<div style=\"position: relative; display: block; max-width: 1515px;\"><div style=\"padding-top: 50.77574047954866%;\"><video id=\"myPlayerID3\" ' +
' data-video-id=\"' + data3.videoId + '\" ' +
' data-account=\"' + data3.accountId + '\" ' +
' data-player=\"' + data3.playerId + '\" ' +
' data-embed=\"default\" class=\"video-js\" ' +
' controls></video>
这是按钮的样式:
#myPlayerID3 .vjs-big-play-button {
display: block;
background: url(myurl) 25% center/contain no-repeat;
right:0px;
left:10%;
top:68%;
bottom:0;
position:absolute;
border-radius: 0;
width:10%;
height: 12%;
}
这是处理暂停事件的代码:
$(document).ready(function() {
var artist_video = document.querySelector("#artist_video");
var artist_video_play_button = artist_video.querySelector(".vjs-big-play-button")
videojs.getPlayer('myPlayerID3').on('pause',function(){
artist_video_play_button.style.background = "url(myurl) 25% center/contain no-repeat";
});
暂停按钮出现,但播放按钮并未消失。如果我在开发者工具中查看样式,可以看到“播放”图片被标记为删除线(#myPlayerID3 的背景属性),但在页面中仍然可见:
如果我在开发人员工具中取消选中背景样式的复选框,它就会消失。这是渲染的东西吗?
我试过去掉这样的样式
artist_video_play_button.removeAttribute("style");
或者像这样
artist_video_play_button.style.background = null;
但是没有用
【问题讨论】:
-
不要通过JS改变图片,而是在css中尝试。即在暂停时,将一个类添加到 .vjs-big-play-button 并在 css 中将背景图像添加到该类。看看是否有效
-
我只是在暂停时这样做了:
artist_video_play_button.classList.add("paused");和.paused类只有这种 css 样式:.paused { background: url(myurl) 25% center/contain no-repeat}。那没起效。这一次,连暂停键都没有出现 -
在开发工具中,你能看到“暂停”类的值吗?
-
我实际上没有。我没有看到在播放按钮元素中添加了这个类。
-
即使我这样做
artist_video_play_button.remove();元素仍然存在,它不会被删除
标签: javascript css brightcove