首先介绍一下onkeydown事件,网页的访问者通过使用键事件处理程序,可以在用户按下适当的键时执行相应的操作。
id="myPicture" alt="Slideshow"><br>
Use the right and left arrows on your keyboard to view the slideshow
h3>
body>
html>
CSS较简单,此处省略。
JS脚本如下:
document.Onkeydown= keyHit;
var thisPic = 0;
function keyHit(evt) {
var myPix = new Array("images/callisto.jpg", "images/europa.jpg","images/io.jpg", "images/ganymede.jpg");
var imgCt = myPix.length-1;
var ltArrow = 37;
var rtArrow = 39;
if (evt) {
var thisKey = evt.which;
}
else {
var thisKey = window.event.keyCode;
}
if (thisKey == ltArrow) {
chgSlide(-1);
}
else if (thisKey == rtArrow) {
chgSlide(1);
}
function chgSlide(direction) {
thisPic = thisPic + direction;
if (thisPic > imgCt) {
thisPic = 0;
}
if (thisPic <0) {
thisPic = imgCt;
}
document.getElementById("myPicture").src = myPix[thisPic];
}
}
document.Onkeydown= keyHit;这里将keyHit()函数注册为onkeydown事件处理的函数。
var ltArrow = 37;
var rtArrow = 39;左右箭头产生的数字分别是37和39,两个if语句:
if (thisKey == ltArrow) 和else if (thisKey == rtArrow)判断访问者按下的键是左键还是右键,判断之后分别执行相应的操作。
记得注意的是,
if (evt) {
var thisKey = evt.which;
}
else {
var thisKey = window.event.keyCode;
}
理解用户按下了哪个键取决于浏览器,如果是Firefox、chrome或者Safari,就查看evt.which,这个属性包含键的编码。如果是IE浏览器,那么编码包含在window.event.keyCode中。