2011-07-29 9 views
1

내가 ID = "테스트"와 사업부를 통해 내 마우스를 움직일 때 그것은 배경을 이동 jQuery를전체 페이지 또는 '.mousemove'

$(document).ready(function(){ 
     var vH=$('#background').height(); 
     var vW=$('#background').width(); 
     var vT=$('#background').offset().top; 
     var vL=$('#background').offset().left; 
     $('#test').mousemove(function(e){ 
      var ypos=e.pageY-vT; 
      var xpos=e.pageX-vL; 
      var y=Math.round(ypos/vW*1500); 
      var x=Math.round(xpos/vH*200); 
      $('#test').val(x+' , '+y); 
      $('#background').css({backgroundPosition: x+'% '+y+'%'}); 
     }); 
    }); 

의 다음 조각이 여러 div의. 이제 마우스를 움직이는 위치에 관계없이 배경이 움직 이도록 변경하고 싶습니다.

이렇게 할 방법이 있습니까? 또는 여러 div를 사용하여 다음과 같은 정보를 얻을 수 있습니다.

$('#test', '#test2').mousemove(function(e){ 

정말 도움을 주셔서 감사합니다.

당신은이 같은 문서에 이벤트를 바인딩 할 수 있습니다

답변

2

는이

$(document).ready(function(){ 
     var vH=$('#background').height(); 
     var vW=$('#background').width(); 
     var vT=$('#background').offset().top; 
     var vL=$('#background').offset().left; 
     $(document).mousemove(function(e){ 
      var ypos=e.pageY-vT; 
      var xpos=e.pageX-vL; 
      var y=Math.round(ypos/vW*1500); 
      var x=Math.round(xpos/vH*200); 
      $('#test').val(x+' , '+y); 
      $('#background').css({backgroundPosition: x+'% '+y+'%'}); 
     }); 
    }); 
+0

고마워요. 어리석은 나는 그것을 상상할 수 없었다 ;-) –

2

:

$(document).mousemove(function(e){ ... 

그냥 알고 그 문서까지 다른 요소 거품의 다른 모든 MouseMove 이벤트 행사, 그래서 당신은 몇 가지 요소에 다른 핸들러가있는 경우 그 요소 위로 마우스를 이동하면 해당 요소의 핸들러와 문서의 핸들러 (핸들러가있는 경우 그 사이의 모든 요소)가 호출됩니다.

또한 문서에서 mousemove를 추적하는 것이 특히 오래된 브라우저에서 느려질 수 있음을 알아야합니다. 잠시 동안 만 추적하면 이벤트 처리기의 바인딩을 해제해야합니다.

+0

네가 맞아, 고마워! –

+0

@ 토마스 당신은 환영합니다 :) – Paulpro

0

난 당신이 찾고있는 효과가 시차 효과 만 약간 수정라고 생각하십시오. 따라서 this 또는 this과 같은 것입니다.

관련 문제