Frage

Das ist cool und ich bin vertraut mit diesem. Jedoch habe ich die nächsten und vorherigen Schaltflächen wollen sichtbar bleiben, werden nur nicht in der Lage klicken. In meiner speziellen Situation, die Tasten sind Bilder, die Teil des Entwurfs sind. Ich will nur der Benutzer nicht in der Lage sein, bevor eine Animation Enden durch klicken.

War es hilfreich?

Lösung

$(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() { }

Andere Tipps

eine weitere Technik:

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

Ich denke, Sie haben Javascript fordert, dass die Bilder Onclick ist, eine Variable MyApp.IgnoreNextPrevClicks zu Flag verwenden, ob die Onclick-Handler ausführen kann oder nicht.

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

jetzt vor dem jquery Animator, Satz MyApp.IgnoreNextPrevClicks auf true Aufruf, und setzen Sie ihn wieder auf falsche, nachdem die Animation endet (Verwendung jquery Animation Rückruf).

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top