2011-07-28 9 views
1

私は、ある変数の結果が別の無関係の変数を変更するのに苦労しています。Javascript変数

グローバル変数 "index"にアタッチする0〜19の乱数を生成するスクリプトがあります。私は、 "インデックス"変数の結果を読み込み、別の配列から適切なテキスト応答を割り当て、そのテキストを新しい変数(それを "応答"と呼ぶ)にポストする別のスクリプトを用意したいと思います。これらの2つの変数は、関連する番号(「索引」)に続くテキスト(「応答」)も一致させる必要があります。たとえば、var index = 0の場合はvar response = "good"、var index = 1の場合はvar response = "bad"などとなります。

非常に単純なようですが、非常に複雑で非効率的な(つまり互換性のない)手段を受け入れることはできません。

あらかじめありがとうございます、そこには非常に才能のある覗き見があります!

ご連絡ありがとうございます。

ここにいくつかのコードがあります。

var answers= new Array(20); 
    for (i = 0; i < answers.length; i++) 
     answers[i] = new Image(); 
     answers[0].src = 'images/answer1.jpg'; 
     //so on an so forth from 0 - 19 
    var index; 

    function askQuestion(){ 
     index = Math.floor(Math.random() * (answers.length));} 

だから私は、関連する画像をトリガー値を返すVARインデックスを持っているが、その後、あまりにも(別のVARを使用して)出力に関連するテキストをインデックスVARの結果を使用します。そんな簡単なことに私が困惑しているとは信じられない!私は、複数の変数を使って複雑化したり、コードをもう一度倍増させていると思います。たぶん私は構文を詰め込んでいるだけかもしれません。くそー、私のJavaScriptコードは最高です。数年前に数学の中から脱落してはいけませんでした!何か案は?

+4

あなたのコードの一部を投稿すれば役立ちます。 – epoch

+0

コードを表示してください。 – GolezTrol

+0

ありがとう、投稿を編集しました –

答えて

1

あなたはこれが必要ですか?

var response = yourDifferentArray[window.index]; 

構文window[varName]あなたはどこでもあなたのコード内からグローバル変数の値を取得することができます。

+0

ありがとうございます。私はそれを試みたが、それを働かせるように見えない。多分私の構文が間違っていますか? –

+1

多分、 '関数' askQuestion(){window.index = Math.floor(Math.random()*(answers.length));} 'でグローバルな' index'変数を作ることができます。 – Luc125

+0

ヒープありがとう!それは働いた!私はそれが簡単だと分かっていましたが、あまりにも扱いにくくしようとしていました! –

1

だから、本当にシンプルでした。私の問題は、通信していない複数のスクリプトを使用しようとすると、やりにくくなりました(構文エラー)。ここに結果があります。

var answers= new Array(20); 
for (i = 0; i < answers.length; i++) 
    answers[i] = new Image(); 
    answers[0].src = 'images/answer1.jpg'; 
    //so on an so forth from 0 - 19 
var index;  
var remarks = ["remark0","remark1"] //..so on 0-19 
var response; 

function askQuestion(){ 
    window.index = Math.floor(Math.random() * (answers.length));} 
    response = remarks[window.index]; 

ありがとうございました!ゴールドの星!!