최근에 JQuery를 사용하기 시작했으며 웹 사이트 스폰서 로고 등을 표시하기 위해 작은 슬라이더를 만들었습니다. 그것은 나를 위해 Firefox를 사용하여 제대로 작동하는 것 같았다. Chrome에서 사이트를로드하기로 결정하고 다소 이상하게 작동합니다. 애니메이션은 첫 번째 div (슬라이더가 두 div로 분할되어 마스킹 div를 통과 한 후 끝까지 움직일 수 있도록)가 두 번째 (및 각 동시) 패스의 화면으로 들어갈 때까지 잘 나타납니다. 첫 번째 div는 더 빠르게 이동하고 두 번째 div를 추월합니다. 어떤 아이디어가 이런 일을 일으켰습니까? Chrome 및 Safari에서만 발생합니다. IE도 작동했습니다!일부 브라우저에서 JQuery.animate()가 다른 속도로 이동합니다
$(document).ready(function() {
var s1 = $("div[name=s1]");
var s2 = $("div[name=s2]");
var release = 0;
var speed = 75; //px per sec
var interval = 100; //milliseconds per animation
var origSpeed = speed;
function slide() {
release = 1 - release;
if (release == 0) {
return;
}
distance = "+=" + (parseInt(s1.width(), 10) + parseInt(s2.width(), 10)) + "px";
if ((-1 * parseInt(s1.css("left"), 10)) > parseInt(s1.width(), 10)) {
s1.css({left: distance});
}
if ((-1 * parseInt(s2.css("left"), 10)) > (parseInt(s1.width(), 10) + parseInt(s2.width(), 10))) {
s2.css({left: distance});
}
slide_again();
}
function slide_again() {
$("div[id=slider]").animate({left: "-=" + interval * (speed/1000) + "px"}, interval, "linear", slide);
}
$("div[id=slider]").hover(function() {
speed = 0;
}, function() {
speed = origSpeed;
});
slide();
});
당신은 here
같은'id' 두 요소가해서는 안됩니다. 유효하지 않은 마크 업입니다. –
정보 주셔서 감사합니다. 나는 그것을 이드가 아닌 계급으로 바꿨다. 불행히도 성능에는 변화가 없습니다. –
내 대답보기. –