热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

键处理事件--使用键盘上的左右箭头产看幻灯片的切换

首先介绍一下onkeydown事件,网页的访问者通过使用键事件处理程序,可以在用户按下适当的键时执行相应的操作。幻灯片的HTML:<!DOCTYPEhtml><

首先介绍一下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中。


推荐阅读
author-avatar
唯心-C_436
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有