SVG 이미지로 게임을 시작했는데 .mouseenter()를 켜고 .mouseleave()를 정지해야하는 두 개의 기어 휠을 만들었습니다. 설정은 setInterval 함수를 통해 이루어집니다. Linux Chromium에서 모든 것이 잘 작동하기 때문에 이상한 문제가 있습니다. Linux Firefox 및 Windows에서 Chrome 및 Firefox gearwheels은 mouseLeave에서 중지하지 않고 mouseEnter에서 속도를 높입니다. 나는 .hover()와 .mouseenter()/mouseLeave() 메소드를 모두 시도했다.jQuery mouseleave 및 clearInterval이 작동하지 않습니다.
내 코드 :
$(document).ready(function(){
var deg = 0;
var rotate_right = $('#cog1 use');
var rotate_left = $('#cog2 use');
var interval;
$("#cogs").hover(
function(){
interval = setInterval(function(){
if(deg >= 360) deg = 0;
deg += 1;
rotate_right.attr('transform', 'rotate('+deg+',32,32)');
rotate_left.attr('transform', 'rotate('+-deg+',32,32)');
}, 10);
},
function(){
clearInterval(interval);
}
);
});
내 JSfiddle
마우스를 올려 놓는 방법에 따라 다릅니다. 컨테이너에 구멍이있는 것 같습니다. 따라서 가운데를 왼쪽에서 오른쪽으로 움직이면 이전 간격을 지울 수있는 기회를 갖기 전에 새로운 간격을 설정합니다. 마우스로 입력 한 부분에 명확한 간격을 추가하고 (null에 대한 확인 및 삭제 후 null로 설정) 어떻게되는지 살펴 봅니다. http://jsfiddle.net/UM88Y/2/ – gpgekko