Javascript 按钮应在结束后30秒出现 $('#btn3d')。延迟(10000)。显示(0);
由于我计划上载的视频长度不相同,如何使按钮在视频结束后30秒显示而不进行硬编码。您可以使用视频的Javascript 按钮应在结束后30秒出现 $('#btn3d')。延迟(10000)。显示(0);,javascript,Javascript,由于我计划上载的视频长度不相同,如何使按钮在视频结束后30秒显示而不进行硬编码。您可以使用视频的结束事件 我不知道HTML的结构,但您可以这样做: <input style="display: none;" type="submit" id="btn3d" value="Proceed" class="btn btn-primary btn3d"> </form> <script type="text/javascript" src="//code.j
结束事件
我不知道HTML的结构,但您可以这样做:
<input style="display: none;" type="submit" id="btn3d" value="Proceed" class="btn btn-primary btn3d">
</form>
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
$('#btn3d').delay(10000).show(0);
</script>
...
$(文档).ready(函数(){
$(文档)。关于(“时间更新”,“我的视频”,函数(){
const videoElem=$('#myVideo')[0];
如果(videoElem.duration-videoElem.currentTime)视频的运行时间/长度可以通过“视频”元素的“持续时间”属性获得
以下是如何在视频结束前30秒显示按钮的示例:
<video id="myVideo">
...
</video>
<input id="btn3d" ...>
<script type="text/javascript">
$(document).ready(function(){
$(document).on("timeupdate","#myVideo",function() {
const videoElem = $('#myVideo')[0];
if(videoElem.duration - videoElem.currentTime <= 30) {
$('#btn3d').show();
}else{
$('#btn3d').hide();
}
});
})
</script>
var myVideo=document.getElementById(“myVideo”)
//当用户单击“播放”时查找视频持续时间
myVideo.onplay=函数(){
var duration=myVideo.duration
var elapsedTime=myVideo.currentTime
//等待时间=(持续时间-elapsedTime-30)秒
变量waitingTime=(持续时间-elapsedTime-30)*1000
如果(waitingTime您知道如何获取视频的持续时间吗?您使用什么视频播放器?这将在视频结束后30秒显示按钮。@NiettheDarkAbsol您是对的。我根据情况更新了答案如果用户暂停视频,则每次暂停都会再次触发回调。如果只是显示,问题不大取消一个按钮,但如果执行了更复杂的操作,可能会出现问题。是的。观察得很好,Niet。必须使用currentTime属性来计算剩余时间。我刚刚更新了代码示例,使用currentTime属性从总持续时间中扣除经过的时间。
var myVideo = document.getElementById("myVideo")
// Find video duration when user clicks 'play'
myVideo.onplay = function() {
var duration = myVideo.duration
var elapsedTime = myVideo.currentTime
// Waiting time = (duration - elapsedTime - 30) seconds
var waitingTime = (duration - elapsedTime - 30)*1000
if (waitingTime <= 0) {
// Minimum waiting time = 1 second
waitingTime = 1000
}
// Show button after waiting time elapses
setTimeout(
function(){
// Code to show button
},
waitingTime
)
}