2013-03-24 4 views
4

iOS Safari에서 간단한 시차 효과를 사용하여 배경 위치를 변경하려고하지만 운동이 원활하지 않습니다. 배경은 터치 스크린을 해제 할 때만 위치를 변경하지만 스크롤 할 때 변경되지 않습니다.iOS touchmove 이벤트 - backgroundPosition이 변경되지 않습니다.

자바 스크립트 :

$('#home').css('top', (scrolled*2) +'px'); 

하지만 margin-top 잘 작동하고 움직임이 원활 동시에 : 그것은 실제로 DIV 요소뿐만 아니라 backgroundPosition을 chnaging와, 또한 top으로 일어나는

$(window).bind('touchmove',function(e){ 
     var scrolled = $(window).scrollTop(); 
     $('#home').css('backgroundPosition', 'center ' + (0-(scrolled*2)) +'px'); 
    }); 

.

무엇이 잘못 되었나요? mousewheel 이벤트와 같은 방식으로 iOS에서 작동하도록하려면 어떻게해야합니까?

답변

1

iOS 브라우저는 스크롤 또는 제스처가 발생할 때 DOM 조작을 고정시킵니다. 이것은 브라우저의 문제이기 때문에 수정할 수 없습니다. jQuery Mobile에서, 그것은 말했다 : iOS 장비가 큐잉, 스크롤시 DOM 조작을 동결 것을

참고 그 때 스크롤 마감을 적용 할 수 있습니다.