Es gibt ein Problem mit einem Funktionsaufruf Ich habe, dass mein Schritt für die Transformation Bild drehen funktioniert nicht nach dem ersten Mal es bei einem ersten Funktionsaufruf wann aufgerufen wird Meine Seite lädt. Diese Funktion wird jedes Mal aufgerufen, wenn ein Wert in dem erstellten Diagramm geändert wird. Um ein Bild zu malen, gibt es zwei Münzen, die von der Oberseite des Bildschirms fallen und sich dann zweimal drehen, bevor sie auf einem Stapel Münzen landen. Wenn Sie so arbeiten, fallen die Münzen nur bei jedem Aufruf der Funktion vom oberen Bildschirmrand ab.jquery animieren mit Bild drehen funktioniert nicht nach dem ersten Funktionsaufruf
<div id="secondCoin"><img class="coin" src="./images/one_coin.png" alt="Second Coin Drops" /></div>
<div id="firstCoin"><img class="coin" src="./images/one_coin.png" alt="First Coin Drops" /></div>
<div id="showCoins"><img class="coin-stack" src="./images/fullstack_coins.png" alt="Stack of Coins" /></div>
function coinStack(height){
var coinSound = document.getElementById('coin-sound');
var rotateDeg = 720;
// prevents sound play on multiple clicks
coinSound.pause();
coinSound.currentTime = 0;
// causes coin stack to slide upward
$("#showCoins").css("display", "inline-block");
$("#showCoins").css("top", height + "px");
screenWidth <= 400 ? $("#showCoins").stop().animate({top: '3'},1000) : $("#showCoins").stop().animate({top: '0'},1000);
// first coin drops
$("#firstCoin").css("display", "inline-block");
$("#firstCoin").css("top", "-324px");
$("#firstCoin").clearQueue().delay(1000).animate({top: '10', deg: rotateDeg},{
duration: 350,
step: function(now){
$("#firstCoin").css({ transform: "rotate(" + now + "deg)" });
}
});
// second coin drops
$("#secondCoin").css("display", "inline-block");
$("#secondCoin").css("top", "-324px");
$("#secondCoin").clearQueue().delay(1400).animate({top: '0', deg: rotateDeg},{
duration: 350,
step: function(now){
$("#secondCoin").css({ transform: "rotate(" + now + "deg)" });
}
});
// coin sound effect
coinSound.volume = 1.0;
coinSound.play();
}
Ich habe versucht mit .stop(), .clearQueue(), Einstellung/Entfernen Eigentum verwandeln unterschiedlich, und überprüft verschiedene Methoden auf Stackoverflow. Nichts scheint zu funktionieren, also hoffe ich, dass andere Augen mein Problem erkennen werden. Danke im Voraus!
Haben Sie Fehler in der Konsole erhalten, und können Sie uns geben Sie den HTML-Code, so können wir es ausprobieren? – Zorken17
Keine Fehler auf der Konsole, und ich werde das HTML in einem Moment haben. – Jester
Hier läuft alles gut ... Könntest du das Problem etwas mehr beschreiben? Ich bekomme den Teil nicht. "Stattdessen funktionieren die Münzen nur bei jedem Aufruf der Funktion vom oberen Bildschirmrand." Das ist das vermeintliche Verhalten ... – Salketer