2 Stimmen

Wie kann ich begrenzen, wie oft Tasten auf einem jQuery-Schieberegler gedrückt werden können?

Ich habe einen Schieberegler gemacht, der die linke und rechte Pfeiltaste verwendet, um den Schieber zu bewegen, aber wenn er zu schnell gedrückt wird, stört er ein wenig, und ich habe mich gefragt, ob es möglich ist, die Anzahl der Betätigungen in einer Sekunde zu begrenzen. Sie können es hier sehen: [Link entfernt]

$('#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();
    }
});

1voto

Aaron Butacov Punkte 28433

Sie können eine globale Variable hinzufügen und diese beim Drücken der Taste auf getTime() und prüft dann beim nächsten Aufruf, ob die Differenz zwischen der eingestellten Zeit und der aktuellen Zeit kleiner als 1000 ist.

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

        checkTime =currentTime.getTime();
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X