我絕對受此阻礙。在我稱之爲「setCookie」的行上,如果第二個函數參數與上面的current_cat或OR比較相同(即「藝術」),那麼整個if語句會中斷(並且函數不會在其中調用)。如果我改變參數使它不匹配(即「art_z」),那麼代碼就可以工作。多個「if」塊會發生問題;但代碼僅適用於一個「if」塊。沒有多少黑客可以解決這個問題 - 任何想法?非常感謝提前。Javascript如果/或比較似乎泄漏到函數調用?
var current_cat = getCookie("FOF_CURRENT_CATEGORY");
if (menuitem == "menu_art" || current_cat == "art")
{
document.getElementById("menu_arc").className = "amble12graylight";
document.getElementById("menu_art").className = "amble14blackregular";
document.getElementById("menu_des").className = "amble12graylight";
document.getElementById("menu_fas").className = "amble12graylight";
document.getElementById("menu_sch").className = "amble12graylight";
document.getElementById("menu_man").className = "amble12graylight";
setCookie("FOF_CURRENT_CATEGORY","art",365);
}
if (menuitem == "menu_arc" || current_cat == "arc")
{
document.getElementById("menu_arc").className = "amble14blackregular";
document.getElementById("menu_art").className = "amble12graylight";
document.getElementById("menu_des").className = "amble12graylight";
document.getElementById("menu_fas").className = "amble12graylight";
document.getElementById("menu_sch").className = "amble12graylight";
document.getElementById("menu_man").className = "amble12graylight";
setCookie("FOF_CURRENT_CATEGORY","arc",365);
}
當你使用兩個if的話,你想用這兩個函數嗎?它是否應該進入條件與否? – polin
如果menuitem ==「menu_arc」或「current_cat ==」爲「」,則將執行第二個if-block)。這意味着兩個if塊可以執行,覆蓋彼此的結果。 –
你的描述有點混亂。你是否說你的代碼在setCookie(「FOF_CURRENT_CATEGORY」,「art」,365)上打破,但不在setCookie上(「FOF_CURRENT_CATEGORY」,「something_else」,365)? – indieman