Pregunta

Esto es muy bueno y estoy familiarizado con esto. Sin embargo, quiero los botones siguiente y anterior a permanecer visible, simplemente no ser capaz de hacer clic. En mi situación particular, los botones son imágenes que son parte del diseño. Sólo quiero que el usuario no pueda hacer clic a través antes de que termina una animación.

¿Fue útil?

Solución

$(function(){
    $("#previous").bind("click", Previous);
    $("#next").bind("click", Next);
});

function DoAnimation() {
    $("#previous,#next").unbind("click");
    $('#id').animate(
        complete: function() {
            $(this).after('<div>Animation complete.</div>');
            $("#previous").bind("click", Previous);
            $("#next").bind("click", Next);
        }
    });
}

function Previous() { }
function Next() { }

Otros consejos

una técnica más:

$(".next,.prev").click(function(){
    if ($('#my_animated_elelement').is(':animated'))
    {
        return false;
    }
})

supongo que tienes llamadas javascript para las imágenes de onclick, utilice una variable MyApp.IgnoreNextPrevClicks marcar si los manipuladores onclick no se ejecutan o no.

MyApp={}
MyApp.IgnoreNextPrevClicks=false;
MyApp.PrevClick=function() {
    if(MyApp.IgnoreNextPrevClicks) return;
    //real work goes here
}

Ahora antes de llamar al animador jQuery, MyApp.IgnoreNextPrevClicks conjunto en true, y la puso de nuevo a falsa después de que termine la animación (animación jQuery uso de devolución de llamada).

function btn() {
   $('#btn').one('click', function(){
     //call your animation function here.

     setTimeout(btn, animation duration);
  });
}
$('#mybtn').attr("disabled","disabled"); // to Disable Button

$('#mybtn').removeAttr("disabled"); // to Enable Disabled button
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top