警告: 家の jquery/javascript 初心者。ここのチュートリアルを使用して、ホバー時に画像が前後に揺れるアニメーションを作成しました。
ただし、最初のホバー イベントの後、画像は 1 回だけ前後に移動しますが、最初のホバー イベントでは、5 回前後にスイングします (swings 変数で定義された回数)。ホバーイベントごとに同じ回数スイングしたい。
回転、スイング、スイングカウントの変数を変更してみました。また、振り子台の関数をスイング関数と一致させようとし、振り子のスイングの if/else ステートメントを変更しました。何も機能しません - 何が間違っていますか? コードは次のとおりです。
<script type="text/javascript">
(function($) {
$(document).ready(function() {
var rotation = 5;
var initrotation = rotation;
var swingtime = 603;
var swings = 5;
var swingcount = 0;
var startatcentre = true;
if (startatcentre == true) {
initrotation = 0;
}
$('#pendulum-child').mouseenter(function() {
function init() {
$('#pendulum-parent').animate({rotate: initrotation}, 0, function () {
$('#pendulum-parent').css("display", "block");
rotation *= -1;
swingcount++;
pendulumswing();
});
}
function pendulumswing() {
$('#pendulum-parent').animate({rotate: rotation},swingtime, "swing", function(){
rotation *= -1;
if (swingcount >= swings) {
pendulumrest();
} else {
swingcount++;
pendulumswing();
}
});
}
function pendulumrest() {
$('#pendulum-parent').animate({rotate: 0},(swingtime/1.5), "swing");
}
init();
});
});
})(jQuery);
</script>