2014-09-21 57 views
-2

我正在做一個Greasemonkey的用戶腳本,我想要設置一個按鍵來將的樣式display:""更改爲block,反之亦然按一個鍵(本例中爲「Home」)。 如何設置一個鍵來改變節點的風格?

var bluebar = document.getElementById('pagelet_bluebar'); 
bluebar.style.display = "none"; 
document.addEventListener("keydown", function (e) { 
    if (e.keyCode == 36) { 
     showhideui(); 
    } 
}, false); 
function showhideui() { 
    if (bluebar.style.display = "none") { 
     bluebar.style.display = "block"; 
    } else if (bluebar.style.display = "block") { 
     bluebar.style.display = "none"; 
    } 
} 

的解決方案是增加而不是===的條件:

if (bluebar.style.display == "none") 
else if (bluebar.style.display == "block") 

回答

1

使用=====,而不是在您的比較單一=跡象。
檢查此鏈接瞭解comparison operators

var bluebar = document.getElementById('pagelet_bluebar'); 
    document.addEventListener("keydown", function (e) { 
     if (e.keyCode === 36) { //press "Home" key change to block/none 
      showhideui(); 
     } 
    }, false); 
    function showhideui() { 
     if (bluebar.style.display == "none") { //if is none 
      bluebar.style.display = "block" ; //change to block 
     } else if (bluebar.style.display == "block" || bluebar.style.display == "") { //if is block 
      bluebar.style.display = "none"; //change to none 
     } 
    } 

PS:如果只有這兩個可能性,你甚至可以用更綜合的方式:

(bluebar.style.display == "block" || bluebar.style.display == "") ? bluebar.style.display = "none" : bluebar.style.display = "block"; 
+0

我得不到控制檯錯誤,我用Firefox的默認控制檯...更好的擴展Firebug的控制檯? – 2014-09-21 15:32:49

+1

我更喜歡螢火蟲,但它都是個人的。 – Kaiido 2014-09-21 15:36:45

+1

嗡嗡聲對我有用 – Kaiido 2014-09-21 17:36:56