Javascript - Cómo deshabilitar mousewheel por 1 segundo

Quiero desactivar mousewheel por 1 segundo. ¿Como puedo hacer esto?

Tengo esta función:

function clickOnMenu(id)
{

    switch(id)
    {
        case 1:
        $('.page').css('display','none');
        $('#first').click();
        rotateImage($('#first'));
        $('#menu div').removeClass('active');
        $('#first').addClass('active');
        break;

        case 2:
        $('.page').css('display','none');
        $('#feature').click();
        rotateImage($('#feature'));
        $('#feature').addClass('active');
        break;

        case 3:
        $('.page').css('display','none');
        $('#download').click();
        rotateImage($('#download'));
        $('#download').addClass('active');
        break;
    }
}

Estos casos se ejecutan con mousewheel. Quiero que cuando se selecciona cada caso, la rueda del mouse se deshabilite por 1 segundo.

¿Como puedo hacer esto?

0
@Boaz Tengo evento mousewheel y cambio diapositivas con esto, quiero desactivarlo
agregado el autor Chalist, fuente

1 Respuestas

Adjunte un detector de eventos a la rueda del mouse que no hace nada. Elimine el detector de eventos después de 1 segundo.

$('#foo').on('mousewheel', function(e){
  e.preventDefault();
  return false;
}

setTimeout(function() {
  $('#foo').off('mousewheel');
}, 1000);
0
agregado
el setTimeout elimina el controlador de eventos después de 1 seg.
agregado el autor xbonez, fuente
@chalist: Entonces haz lo contrario de lo que estoy haciendo en mi solución. No es tan dificil.
agregado el autor xbonez, fuente
esto deshabilita la rueda del mouse y no se habilita de nuevo
agregado el autor Chalist, fuente
Quiero quitar rápido y atar el evento "mousewheel" de nuevo después de 1 seg
agregado el autor Chalist, fuente
JavaScript - Comunidad española
JavaScript - Comunidad española
4 de los participantes

En este grupo hablamos de JavaScript. Partner: es.switch-case.com