如何限制在jQuery滑块上按键的频率?

时间:2010-06-13 16:56:49

标签: javascript jquery timer slider

我已经制作了一个滑块,使用左右箭头键移动幻灯片,但是当快速按下它时会有一点障碍,我想知道是否可以限制按下的数量。你可以在这里看到它:[链接删除]

$('#slider-nav div').click(function() {
    $('#slider-nav div').removeClass('selected').addClass('');
    $('#slider-nav div:eq('+($.jcarousel.intval($(this).text())-1)+')').addClass('selected');
})

// Allow left and right keys to control slider
$(document.documentElement).keypress(function(e) {
    var code = (e.keyCode ? e.keyCode : e.which);
    var direction = null;

    // handle cursor keys
    if (code == 37) { // left key
        direction = 'prev';
    }
    else if (code == 39) { // right key
        direction = 'next';
    }

    if (direction != null) {
        $('#slider-nav div.selected')[direction]().click();
    }
});

1 个答案:

答案 0 :(得分:1)

您可以添加全局变量,然后在按下该键时将其设置为getTime(),然后在下次调用时,检查设置时间和当前时间之间的差异是否小于1000。

    var checkTime = 0;
function onKeyPress(){
    var currentTime = new Date()
    if((currentTime.getTime() - checkTime) > 1000){
        //do stuff;

        checkTime =currentTime.getTime();
    }
}