6 Stimmen

Jquery Schieberegler-Effekt

Ich bin mit jQuery für einen Schieberegler-Effekt auf Schaltfläche klicken. Mein Code ist:

$(document).ready(function() {

  $("#mybutton").click(function () { 
      $("#slidemarginleft").hide("slide", { direction: "down" }, 1000);
});
});

Wenn ich auf die Schaltfläche klicke, tritt ein JavaScript-Fehler auf:

f.easing[e.animatedProperties[this.prop]] is not a function

13voto

Justin Searls Punkte 4771

Der von ihm bereitgestellte Codeschnipsel stammt direkt aus dem jQuery UI-Dokumentation :

$("div").click(function () {
  $(this).hide("slide", { direction: "down" }, 1000);
});

Ich habe gerade diesen Fehler und das Problem war, dass das jQuery UI-Skript nicht geladen wurde (D'oh!). jQuery UI ist für die Lockerung Animationen erforderlich.

Versuchen Sie, dies hinzuzufügen, um zu sehen, ob das Problem dadurch behoben wird:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>

3voto

Versuchen Sie diese Version von jquery.easing

http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js

Es hat mein Problem gelöst.

0voto

Pete Punkte 3963

Ich denke, dass das Problem das zweite Argument ist, das Sie an die hide-Methode übergeben. Von der jQuery-Dokumentation auf Hide(), heißt es:

duration Eine Zeichenkette oder Zahl, die angibt, wie lange die Animation laufen wird.
easing Eine Zeichenfolge, die angibt, welche Lockerungsfunktion für den Übergang verwendet werden soll.
callback Eine Funktion, die aufgerufen wird, sobald die Animation abgeschlossen ist

Ihr zweites Argument ist ein Javascript-Objekt, nicht eine Zeichenkette. Es wird versucht, eine Lockerungsfunktion namens { direction: "down" } und hat kein Glück. Die einzige Lockerung Implementierungen in der jQuery-Bibliothek sind die Standard, genannt Swing, und eine, die in einem konstanten Tempo fortschreitet, genannt linear. Sie haben auch, was aussieht wie eine Dauer als dritter Parameter und es sollte der erste sein.

Ich frage mich auch, warum Sie die hide()-Methode verwenden, um ein jQuery-Slide zu tun, anstatt die slideToggle ()-Methode oder nur slideDown() oder slideUp(), je nach Bedarf.

0voto

wdm Punkte 6881

Angenommen, Sie versuchen, den Effekt des Ausblendens eines Elements mit einer "Slide Down"-Bewegung zu erreichen, versuchen Sie vielleicht so etwas wie dieses...

Demo: http://jsfiddle.net/wdm954/Frumm/3/

$('#button').click(function() {
    var h = $('#slide').height();
    $('#slide').animate({ height: 0, marginTop: h+"px" }, 1000, function() {
         $(this).hide();   
    });
});

0voto

Alex Barker Punkte 4103

Dieser Fehler kann auch durch einen ungültigen Effektwert verursacht werden. Zum Beispiel: $(this).hide("slid", {}, 1000); Gültige Effektwerte sind: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.

Siehe hier .

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