사용자가 아래로 스크롤 한 후 DIV를 뷰포트로 수평 이동했습니다. 그런 다음 다시 스크롤하면 다시 스크롤됩니다. 그러나 그것이 슬라이드하는 방식은 매우 매우 어색해 보입니다 (잠시 멈추는 경우도 있습니다).DIV를 jQuery로 가로로 움직입니다.
당신은setTimeout
그 자체로
if
상태에서
setTimeout
호출을 제거하고 전체 블록을 둘 필요가
div#doom_o {
position: fixed;
left: -300px;
z-index: -1;
height: 400px;
width: 309px;
background-image: url("../images/doom_o.png");
background-repeat: no-repeat;
}
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
setTimeout(function() {
$('#doom_o').stop().animate({left: "20%"});
}, 250);
}
else {
setTimeout(function() {
$('#doom_o').stop().animate({left: "-300px"});
}, 250);
}
});
왜 downvotes? –
@RoryMcCrossan : 나는 downvoted하지 않았다. 그러나 나는 downvote가 주석을 쓰지 않았다고 생각한다. 그 질문을 찾은 사람이 질문을 찾았다는 것을 암시한다 : 툴의 노력을 보여주지 않았거나, 명확하지 않거나, 유용하지 않다. 그러므로 당신의 질문에 대한 대답은 세 사람 중 한 사람이 그 사람에게 적용 되었기 때문입니다. 주제로 돌아 가기, 내 질문에 +1. 나는 그것이 유용한 질문이라고 생각한다. 애니메이션과 타임 아웃에 관해서는 언제나 배울 점이 많습니다. jQuery 기능을 능가하는 원활한 변환을 위해서는 CSS 변환이 OP를위한 선택 일 경우 이동하는 방법 일 수 있습니다. – Nope