2014-09-21 2 views
-2

Я делаю регистрационный номер Greasemonkey, и я хочу установить ключ, чтобы изменить стиль от none до block и наоборот узла путем нажатия клавиши (в данном случае «Главная»). Как установить ключ для изменения стиля узла?

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? –

+1

Я предпочитаю firebug, но все это личное. – Kaiido

+1

Hum это работает для меня – Kaiido

Смежные вопросы