我有這樣一小段代碼,如果滿足某些if
條件,就應該執行某些操作。它不工作,因爲它應該和我不明白爲什麼。代碼有點冗長,請耐心等待。任何一種幫助真的很感謝!如果語句沒有被執行,那麼Javascript函數就沒有權利
首先我有一個按鈕,在我的HTML,當它點擊就會觸發功能
function coverCard() {
if (2 > 1) {
GodAn();
} else {
if (bbbbb === 0) {
do something
} else {
do sth
}
}
}
此功能會導致顯示爲GodAn
功能遵循
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;
}
}
最後下面是功能定義對話框中顯示的內容以及點擊按鈕後會出現什麼情況
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
這真的讓我瘋狂所以有人請點擊這裏提供一些線索嗎?
這裏是的jsfiddle鏈接到我的代碼
https://jsfiddle.net/5bn0ux5k/
在我看來,該警報1警報2是否觸發是一個純粹的隨機事件,而它果然設置爲只提示1(選項1)
你可以幫你一個忙,並使用代碼縮進。 –
請提供說明您的問題的jsFiddle,codepen或snippet。 – jcaron
正如Nina所說,再次使用正確,一致的代碼縮進。只要你願意,你可以讓自己無法讀懂;在這裏,你需要努力並確保代碼可以被其他人閱讀。這涉及適當的縮進。 –