现在我已经完成了在我的网站中设置视频控件样式的部分,我遇到了一个小问题。
视频部分包含视频列表和视频播放器。只要点击列表中的li
元素,视频播放器的来源就会变为点击视频的来源。视频播放器顶部有一个播放按钮,可以从播放到暂停。
我遇到的问题是,每当视频源发生变化时,按钮都不会返回播放状态。
HTML代码(index.php
):
<div class="control play">
<span class="left"></span><span class="right"></span>
</div>
按钮(Less.less
)的样式较少:
.control {
@color: #ffb160;
@highlight: darken(@color, 10%);
@duration: 0.4s;
@sin: 0.866;
@size: 30px;
border: @size*0.1 solid @color;
border-radius: 50%;
margin: 20px;
padding: @size*0.25;
width: @size;
height: @size;
font-size: 0;
white-space: nowrap;
text-align: center;
cursor: pointer;
&, .left, .right, &:before {
display: inline-block;
vertical-align: middle;
transition: border @duration, width @duration, height @duration, margin @duration;
transition-tiomig-function: cubic-bezier(1, 0, 0, 1);
}
&:before {
content: "";
height: @size;
}
&.pause {
.left, .right {
margin: 0;
border-left: @size*0.33 solid @color;
border-top: 0 solid transparent;
border-bottom: 0 solid transparent;
height: @size*@sin;
}
.left {
border-right: @size*0.2 solid transparent;
}
}
&.play {
@border: @size/4;
.left {
margin-left: @size/6;
border-left: @size*@sin/2 solid @color;
border-top: @border solid transparent;
border-bottom: @border solid transparent;
border-right: 0px solid transparent;
height: @size - 2*@border;
}
.right {
margin: 0;
border-left: @size*@sin/2 solid @color;
border-top: @border solid transparent;
border-bottom: @border solid transparent;
height: 0px;
}
}
&:hover {
border-color: @highlight;
.left, .right {
border-left-color: @highlight;
}
}
}
这是从播放到暂停(JQuery.js
)的过渡:
$(".control").on('mousedown', function() {
if (video.paused == true) {
$(this).toggleClass('pause play');
video.play();
} else {
$(this).toggleClass('play pause');
video.pause();
}
});
这是通过单击列表中的li元素(JQuery.js
)触发的事件:
$('.video-element').click(function(){
var videosource = $(this).find("div.source").html();
var imgsource = $(this).find(".video-thumbnails").attr("src");
$(".control").toggleClass('play');
document.getElementById('video-player').setAttribute('poster',imgsource);
document.getElementById('mp4').setAttribute('src','videos/'+videosource + ".mp4");
document.getElementById('ogv').setAttribute('src','videos/'+videosource + ".ogv");
document.getElementById('webm').setAttribute('src','videos/'+videosource + ".webm");
$("#video-player").load();
});
到目前为止,我尝试将$(".control").toggleClass('play');
添加到有关视频更改的代码中,因为每次点击新视频时按钮都会更改为暂停或播放。< / p>
答案 0 :(得分:1)
更改视频源时,是否还可以更改播放/暂停按钮的类别?也就是说,在您的点击中功能,包括
$(elem).setClass("play")
或类似的东西)。