タイムラインオブジェクトにカプセル化できるキューメソッドがいくつあるのか不思議です。私は、キューに追加されているものをテーブルに更新するためにDOMを追加したいと思います。同じオブジェクトに配置するか、別の関数に分割する必要があるかどうか不思議です。 ?Javascriptオブジェクトの内部から別の関数に引数を渡す
これをオブジェクトで実装する方法は不明です。あなたはちょうどaddTableRow(this.clips.url)を書くでしょうか?または、私はタイムラインオブジェクトにaddTableRow()をカプセル化する必要がありますか?
情報を格納し、配列コマンドを実行する2つのオブジェクト。
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()が、私はよく分かりません。現在のコードでは、テーブルを未定義で更新します。私はURLだけでなく、inpointとoutpointもテーブルに渡したいと思っています。
私は見ていて、実際に私が持っているような例を見つけました。
ありがとう!あなたは$ JQueryを使用していますか?私の方法よりも頑強ですか?私は現在のメイドがFirefox上で動作していないことに気づいた。 –
jQueryを使わずにJSについて考えることはもうありません...しかし、私は正規のJSに私の応答を入れておくべきですが、はい、jQueryは本当に理由が見当たらないほど簡単に、それまたは他のライブラリを使用しないでください。しかし、jQueryは間違いなく私のお気に入りです... – ar3