2016-07-08 8 views
1

変数があり、ユーザーがボタンを押すたびに文字列を前後に切り替える必要があります。私はそれを行うのに2つの機能を使用しています.1つは「短く」に、もう1つは「長く」に変更することです。私のウェブサイトのデフォルト設定は「短い」です。問題は、スペースを取るので2つのボタンを使いたくないということです。私はaからbとbからaに変更する関数が必要です。文字列を変更するのに2つではなく1つのボタンを使用する

var sl = "short"; 
function short() { 
sl = "short"; 
} 
function long() { 
sl = "long"; 
} 

答えて

0

これはあなたのやりたいことに合っていなければなりません。 テストされていませんが、動作するはずです。

var sl = "short"; 
var on = 1; 

if (on == 1) { 
on = 0; 
console.log("Short became long"); 
sl = "long"; 
} 
else if (on == 0) { 
on = 1; 
console.log("Long became short"); 
sl = "short"; 
} 

コードが実行されると「上」は、であれば我々は、状態(あなたがしたい場合は、代わりに整数のブール値を使用することができます) 「に関するデフォルト」を表す整数の変数を持っていますに設定し、「オフ」コードを実行します。 変数 'on'がの場合、に設定され、 'on'コードが実行されます。これを関数の中に入れ、関数 を呼び出してオン/オフコードを実行することができます。

+0

とどのように私は、HTMLからの関数を呼び出すのですか? – yollen

+0

@yollen ** ** – Dragg

+0

@yollen ** **タグの間に必ずJSコードを挿入してください。 – Dragg

1
var sl = "short"; 
function change() { 
    if (sl == "short"){ 
     sl = "long"; 
    } 
    else{ 
     sl = "short"; 
    } 
} 
1

機能を確認してそれを逆にする機能を作成できます。ここで

var sl = "short"; 
function change() { 
    if (sl == "short") { 
     sl = "long"; 
    } else if (sl == "long") { 
     sl = "short"; 
    } else raise an error; 
+0

セミコラムがありません。 – Dragg

0

は、コードは次のとおりです。

var sl = 'short'; 
if (sl == 'short') sl = 'long'; 
else if (sl == 'long') sl = 'short'; 
+0

条件文で大括弧{}が欠落しています。 – Dragg

+0

@Dragg if文のコード行が1行だけであれば、大括弧は必要ありません。 –

+0

これらは必要ではありませんが、ステートメントを展開したい場合はお勧めします。 – Dragg

関連する問題