2016-10-09 19 views
0

HTML入力フィールドから変数を取得し、JavaScriptコンストラクタでパラメータとして渡そうとしています。私はJSJavaScriptコンストラクタへの関数の受け渡し

コンストラクタあなたが関数内で別の変数を宣言する必要はありません

function setCountTarget() 
{ 
var countTarget_Up = document.getElementById("count_Target").value; 
return countTarget_Up; 

} 

var watch = new Stopwatch(timer,setCountTarget(),setCountTarget()); 
//Create Stopwatch object 1 
+2

あなたは疑問を持っていますか:あなたはDOMが完全にロードされているよりも、確認することができるようにwindow.onload機能でStopwatch()呼び出しをラップしてみてください? – str

+0

あなたが持っているコードがうまくいかないと思う理由がありますか?明確な問題文と[MCVE](対話したいHTMLを含める必要があります)が必要です – Quentin

+0

watchオブジェクトはcountTarget_Up変数を取り入れていません。 – CollisionOfConcepts

答えて

0

をコンストラクタに値を追加する

function Stopwatch(elem,count_Up,count_Down) { 

    //Private Variables 
    var time = 0; // Time in milliseconds 
    var interval; // Used for update function 
    var offset; // 
    var countUp = count_Up 
    var countDown = count_Down 
    console.log('SWT'+countUp+count_Up) 

に新たなんです。

function setCountTarget(){ 
    return document.getElementById("count_Target").value; 
} 

これは文字列型を返します。代わりに、私はループの中でそれを行うに助言するオブジェクトコンストラクタまたはインスタンス化の あなたは数が欲しいなら、あなたが行うことができ、

function setCountTarget(){ 
    return parseInt(document.getElementById("count_Target").value); 
} 

まあ。 ユーザーからのデータを取得します(おそらくカウントの終了または開始)。終了から減少または開始から再帰的に増加します。 問題について、コンストラクターを必要としないかもしれないと考えてください。 オブジェクト指向のJSについてもっと読むといいでしょう。

+0

ありがとう! コンストラクタを追加 – CollisionOfConcepts

+0

私は、HTMLフィールドに数字を入力してから、その番号をウォッチコンストラクタに渡したいと思っています。 – CollisionOfConcepts

+0

私は仲間を助けてください – CollisionOfConcepts

0

入力ノードの値を取得するために、スクリプトを呼び出す前にそのノードをDOMにロードする必要があることは間違いありませんが、タイミングの問題であると思われます。

function setCountTarget() 
{ 
var countTarget_Up = document.getElementById("count_Target").value; 
return countTarget_Up; 
} 

var watch ;//I'm assuming you want this to be a global variable; 
window.onload = function(){  
    var watch = new Stopwatch(timer,setCountTarget(),setCountTarget()); 
} 
関連する問題