Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Горячая клавиша (https://javascript.ru/forum/events/16126-goryachaya-klavisha.html)

rawuk 27.03.2011 16:08

Горячая клавиша
 
Народ подскажите как мне сделать, чтобы при нажатии на определенную клавишу на клавиатуре,(допустим клавиша "`") , блок div скрывался, а когда скрыт, и нажимаешь на эту же клавишу то он появлялся бы.
Т.е. условно говоря, при нажатии на одну клавишу блок появлялся или скрывался.

Есть вот такой скриптик
<script type="text/javascript" language="javascript">
 function hotkeys(e) {
 if (!e) e = window.event;
 var k = e.keyCode;
 
 if (k == 192) {document.getElementById('console').style.visibility = 'hidden';}
 
 }
 </script>


вызов функции:
<script type="text/javascript" language="javascript">
function init() {
 document.onkeydown = hotkeys;
}
</script>


и в тег body вот это:
body onpageshow="init()"


----------------------------------------------
При таком раскладе , при нажатии на клавишу 192(~), нужный мне элемент 'console', скрывается('hidden').
Может можно его как то подправить что бы он еще и открывался.
Я экспериментировал с операторами If/else, пытался задать условия выполнения скрипта при определенных параметрах div'A . Тобишь если он скрыт('hidden') то исполнять одно условия при нажатии на клавишу,(т.е. показывать див); если он(div) показан('visible') То соответственно выполнять условие скрытия дива при нажатии на туже клавишу.
Но все тщетно не хоч работать, :( может я что не так там делал,
Вообще помогите осуществить не этим так любым другим способом,

Vulkan 27.03.2011 17:24

вот так будет и скрываться и открываться:
<script type="text/javascript" language="javascript">
window.onload = function () {
    document.onkeydown = function (e) {
        e = e || window.event;
        var k = e.keyCode,
            elem = document.getElementById('console');
        if (k == 192) elem.style.visibility = (elem.style.visibility == 'hidden' ? 'visible' : 'hidden');
    }
}
</script>

<body>
<div id="console" style="width: 100px; height: 100px; background: red;"></div>
</body>

rawuk 27.03.2011 23:42

Спасибо работает.


Часовой пояс GMT +3, время: 05:38.