if
の条件が満たされていれば何かするはずのこの小さなコードがあります。それはうまくいきませんし、理由を理解できませんでした。コードは少し長いです。私と一緒にご負担ください。何らかの助けが本当に感謝しています!Javascript関数if文が正しく実行されていない
まず、それが
function GodAn() {
var a = 1
if (a < 2) {
document.getElementById("coverCard").onclick = Alert.render("do option 1 please")
bbbbb = 0;
} else {
document.getElementById("coverCard").onclick = Alert.render("do option 2 please")
bbbbb = 2;
}
}
は最後に次のように従うことの関数であるとして示され、この関数はGodAn
機能につながる機能
function coverCard() {
if (2 > 1) {
GodAn();
} else {
if (bbbbb === 0) {
do something
} else {
do sth
}
}
}
をトリガします]をクリックしたとき、私は、私のhtml内のボタンを持っていますダイアログボックスに表示される内容とそのok
ボタンがクリックされたときの動作を定義します。
function CustomAlert() {
this.render = function (dialog) {
document.getElementById('dialogboxfoot').innerHTML = '<button onclick="Alert.ok()">ok</button>';
}
if (bbbbb === 0) {
this.ok = function() {
alert("do option1")
console.log(bbbbb)
}
}
else this.ok = function() {
alert("do option 2")
console.log(bbbbb)
}
}
var Alert = new CustomAlert();
htmlボタンをクリックすると、ダイアログボックスに"do option 1 please"
と表示されます(これは常にそうです)。"do option1"
に警告します。ただし、CustomAlert
機能では、グローバル変数bbbbb
が0
にリセットされていても、"do option 2"
アラートが誤ってトリガーされることがあります。 (console.log
はまたbbbbb
が0
であることを確認する)。
私は、元のHTMLファイルをアップロードしたとのリンクはこちらです:
https://wetransfer.com/downloads/313ba63c7a101f917cbc9e6f9a4c5ade20170226122032/43cedb
誰かがここにいくつかの光を当てるしてくださいしてくださいので、これは本当に狂気私を駆動しますか?ここで
はhttps://jsfiddle.net/5bn0ux5k/
それは予想通り単に警告1(オプションに設定されている警報1または警報2がトリガされているかどうかを純粋にランダムイベントであるように私には思える私のコードにjsFiddleリンクあり1)
あなたは自分の好意を持ち、コードのインデントを使用することができます。 –
問題を説明するjsFiddle、codepenまたはsnippetを提供してください。 – jcaron
また、ニーナが述べたように、適切で一貫したコードインデントを使用してください。あなたはあなたが望むようにあなた自身のためにそれを読むことができないようにすることができます。ここでは、コードを他の人が読めるように努力することが期待されています。それには適切なインデントが必要です。 –