我很好奇我可以将多少这些队列方法封装到Timeline对象中。我想添加DOM以更新已添加到队列中的表,并且好奇我是否应该将它放在同一个对象中或者将其分解为另一个函数,如果是这样,我如何传递参数?
我不确定如何使用对象来实现它。你能写一下addTableRow(this.clips.url)吗?或者我应该将addTableRow()封装到时间轴对象中吗?
存储信息并运行数组命令的两个对象。
function Clip() {
this.url = userInput.url.value;
this.inpoint = userInput.inpoint.value;
this.outpoint = userInput.outpoint.value;
}
function Timeline() {
this.clips = [];
this.queue = function() {
this.clips.push(new Clip());
addTableRow(this.clips.url); //Creates the new table with the user's URL inside.
}
}
var myTime = new Timeline();
//Adds the new table row.
function addTableRow(url) {
function delayed() {
var table=document.getElementById("tblVideo");
var lastRow = table.rows.length;
// if there's no header row in the table, then iteration = lastRow + 1
var iteration = lastRow;
var row = table.insertRow(lastRow);
var cell1=row.insertCell(0);
cell1.innerHTML=url;
}
setTimeout(delayed,500);
}
如何使用用户的输入:
<form id = "userInput">
<p>
Url: <input type="text" id="url" size="30" />
Start Time: <input type="text" id="inpoint" size="2" />
End Time: <input type="text" id="outpoint" size="2" />
<input type="button" onclick="myTime.queue()" value="Add" />
</p>
</form>
<table border = "1" id = "tblVideo">
<tr>
<th>Youtube URL</th>
</tr>
</table>
我已经尝试过.apply()和.call(),但我不确定我是否正确使用它们。使用当前代码,它使用undefined更新表。我不仅要将URL传递给表,还要将inpoint和outpoint传递给表。
我一直在环顾四周,真的找到了一个像我现在的例子。
答案 0 :(得分:0)
您创建一个数组但不以数组形式访问它
var currentClip = this.clips[this.clips.length-1];
addTableRow(currentClip.url,currentClip.inpoint,currentClip.outpoint);
.
.
.
function addTableRow(url,ip,op) {
答案 1 :(得分:0)