2015-04-17 9 views
-2

У меня здесь есть фрагмент кода, и я хочу, чтобы можно было нажать клавишу (f.i. «1»), так что var isRunning = false. Когда я нажимаю другую клавишу (f.i. ключ «2»), var isRunning должен вернуться обратно к isRunning = true.Как я могу изменить var функции javascript, нажав клавишу на клавиатуре?

Он должен быть как можно более простым (javascript/html), без jquery. Я просто хочу изменить значение этого var с определяемым нажатием клавиши.

Это код:

<script type="text/javascript"> 
var pages=[]; 
pages[0]="page0.html" 
pages[1]="page1.html" 
pages[2]="page2.html" 

var time = 33000; 
var currentIndex = 0; 
var isRunning = true; 

function pageChange() { 
    if(isRunning){ 
     if(currentIndex == 0){ 
      pages = shuffle(pages); 
      console.log(pages); 
      currentIndex = pages.length; 
     } 
     currentIndex--; 
     document.getElementById("frame").src=pages[currentIndex]; 
     console.log(currentIndex); 
    } 
    setTimeout(function() { pageChange(); }, time); 
}; 

window.onload = function(){ 
    pageChange(); 
} 


</script> 
+1

Просто Google «JavaScript ключевых событий», и вы найдете множество решений –

+0

JQuery является Javascript .. – greenhoorn

+0

@greenhoorn нет JQuery нет javascript library – rdans

ответ

0

это должно сделать трюк;)

document.addEventListener('keydown', function(event) { 
     if(event.keyCode == 49) { //keycode 49 is '1' 
      isRunning = false; 
     } 
     else if(event.keyCode == 50) { //keycode 50 is '2' 
      isRunning = true; 
     } 
    }); 
+0

Это действительно трюк! Большое спасибо. Можно ли использовать только кнопку «1», чтобы последовательно изменять переменную от true до «false», «true» и т. Д.? – TVB

+0

Конечно, просто используйте isRunning =! IsRunning в инструкции if и удалите инструкцию else if. – Unex

+0

Это также отлично работает. Благодаря! – TVB

0

Поскольку ваш isRunning в глобальном масштабе, вы можете просто поймать KeyDown событие для цифровых клавиш. Например, если вы хотите, чтобы поймать событие на всей странице, идти, как это:

window.onkeydown = function(e){ 
    switch(e.keyCode){ 
     case 49: 
     case 97: 
      isRunning = false; 
      break; 
     case 50: 
     case 98: 
      isRunning = true; 
      break; 
    } 
}