경고 : jquery/javascript 초보자가 집안에 있습니다. 나는 tutorial here을 사용하여 이미지가 호버에서 앞뒤로 흔들리는 애니메이션을 만듭니다.첫 번째 이벤트 후 호버 애니메이션이 완전히 작동하지 않습니다.
그러나 첫 번째 호버 이벤트 후 첫 번째 호버 이벤트에서 앞뒤로 5 번 (스윙 변수로 정의 된 숫자) 앞뒤로 스윙하면서 이미지는 앞뒤로 한 번만 이동합니다. 모든 호버 이벤트에서 동일한 횟수로 스윙하고 싶습니다.
나는 회전, 스윙 및 스윙 카운트 변수를 변경하고 스윙 기능과 일치하는 진자 함수를 만들고, 진자 스윙에 대한 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>
'init()'함수에서'$ (document) .ready()'에 설정된 값으로 변수를 다시 초기화해야합니다. – musicnothing
@AlexMorrise 감사합니다. 그것을하는 방법에 대한 지침? 나는 그것들을 함수에 복사하려고 시도했지만, 애니메이션이 급격히 바뀌어 올바른 방법이되어서는 안된다. – surfbird0713
내가 생각할 수있는 모든 것은 단지 초기화 (init) 함수에'.animate()'호출 바로 전에 복사하는 것입니다. 그러나'var' 부분을 복사하지 않도록하십시오 (변수를 다시 선언하고 싶지는 않습니다). – musicnothing