所以我有一个带有一个div容器和一个按钮的简单页面,我希望用户能够点击按钮并将新视频加载到div中。
我总共有8个视频,页面开始时有一个关于自动播放和循环的视频,然后如果用户点击页面底部的按钮,则视频2被加载并自动播放并循环直到他们点击按钮再加载视频3。
希望有道理!我确信这很容易做到,但我知道这需要几天的时间来弄明白!
任何帮助都会很棒!
这是我的代码,
<div id="vidBox">
<video width= "977" height= "721" src= "1.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>
</div>
$("#vidBox").empty().append( video width= "977" height= "721" src= "2.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay" );
$("#vidBox").empty().append( video width= "977" height= "721" src= "3.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay" );
$("#vidBox").empty().append( video width= "977" height= "721" src= "4.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay" );
etc etc etc
这是我的更新代码
<!DOCTYPE html>
<html>
<head>
<title>Video Player</title>
<script type="text/javascript">
$("document").ready(function () {
var vid1 = $("<video width= "977" height= "721" src= "1.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
var vid2 = $("<video width= "977" height= "721" src= "2.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
var vid3 = $("<video width= "977" height= "721" src= "3.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
var vid4 = $("<video width= "977" height= "721" src= "4.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
var vid5 = $("<video width= "977" height= "721" src= "5.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
var vid6 = $("<video width= "977" height= "721" src= "6.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
var vid7 = $("<video width= "977" height= "721" src= "7.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
var vid8 = $("<video width= "977" height= "721" src= "8.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"</video>");
});
</script>
<script>
window.myVids = ["1.mp4", "2.mp4", "3.mp4", "4.mp4", "5.mp4", "6.mp4", "7.mp4", "8.mp4"];
</script>
<script>
var currentIndex = 0;
var $video = $("#vidBox video");
$("#myButton").click(function() {
video.attr("src", myVids[++currentIndex]);
});
</script>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="vidBox">Content for New Div Tag Goes Here</div>
<button id="myButton">Click Me</button>
</body>
</html>
答案 0 :(得分:0)
这是你不想要做的事情:)
使用一些数据有一种典型的方法。 不要在清空区域时创建这行代码,然后附加一些内容。如果你查看你的代码,你会发现,除了“src”属性之外,所有内容都是相同的。那么为什么不让事情更简单,更可重复使用。
考虑一下你从服务器传来的一些数据...... 把它们放到视图中
<script>
window.myVids = ["1.mp4", "2.mpg", ...];
</script>
现在你在窗口中有一个简单的数据结构全局可用。虽然这不是最好的做法,但现在已足够了。
现在挂钩你的按钮,它将只替换src属性。我现在不确定,如果你只是改变src属性它会播放下一部电影,但你可以自己试试。
<script>
var currentIndex = 0;
var $video = $("#vidBox video");
$("#myButton").click(function() {
video.attr("src", myVids[++currentIndex]);
});
</script>
哦伙计,你的更新看起来很糟糕。好的,你很幸运我有一个美好的一天......
<!DOCTYPE html>
<html>
<head>
<title>Video Player</title>
<script type="text/javascript">
$("document").ready(function () {
window.myVids = ["1.mp4", "2.mp4", "3.mp4", "4.mp4", "5.mp4", "6.mp4", "7.mp4", "8.mp4"];
var currentIndex = 1;
var $video = $("#vidBox video");
$("#myButton").click(function() {
video.attr("src", myVids[++currentIndex]);
});
});
</script>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="vidBox">
<video width= "977" height= "721" src= "1.mp4" type= "video/mp4" loop= "loop" autoplay="autoplay"></video>
</div>
<button id="myButton">Click Me</button>
</body>
</html>