2016-10-10 2 views
0

마우스 움직임에 따라 css transform translate3d를 사용하여 subtil div 위치 변경 효과를 얻고 싶습니다. 이 웹 사이트의 홈 부분의 기하학적 그림 같은 뭔가 : http://riccardozanutta.com/마우스 동작에 따라 translate3d로 div 위치를 변경하십시오.

내가이 시도 : 하나의 이미지로

$(window).mousemove(function(event) { 
    $(".home-img").css({"left" : event.pageX, "top" : event.pageY}); 
}); 

절대 위치하고 일을하지만, (이미지가 MouseMove 이벤트에 따라 위치를 변경) 나는 클래스 .basic 스킬 3 div의 애니메이션을 할 때

$(window).mousemove(function(event) { 
    $(".basic-skill").css({"left" : event.pageX, "top" : event.pageY}); 
}); 

그들이 (그들은 상대적 위치) 뷰 포트에서 이동하거나 할 때 일 서로를 (중복 ey은 절대 위치).

또한보기 포트 전체로 이동하지 않고 최대 5 픽셀로 이동을 제한하는 방법을 모르겠습니다.

도움 주셔서 감사합니다.

+0

당신은 바이올린을 제공 할 수 있습니까? – K3v1n

답변

1

최대 5 픽셀 변위에 대해 질문을 해결하면 이동량을 줄이기 위해 X 및 Y 좌표에 0.1과 같은 요소를 곱할 수 있습니다. 그래서 같이 :

$(".basic-skill").css({"left" : event.pageX * 0.1, "top" : event.pageY * 0.1}); 

편집 : 대신 topleft를 사용하여, 당신은 CSS의 정적 topleftmargin-topmargin-left를 사용할 수 있습니다. JSFiddle

CSS

position: absolute; 
top: 50px; 
left: 50px; 

JS

$("#two").css({"margin-left" : -(event.pageX * 0.1), "margin-top" : -(event.pageY * 0.1)}); 

편집 2 : 강화 바이올린 : https://jsfiddle.net/qcoy5xpg/2/

그러나 이것은 그냥 빨리 n 쉬운 일입니다. 사용자가 제공 한 데모 페이지에서 SVG 요소에 CSS 애니메이션을 사용했습니다. 그렇다면 내가 우아한 (가교)

+0

답장을 보내 주셔서 감사합니다! 현재 CSS 위치에 움직임을 추가 할 가능성이 있습니까? 귀하의 솔루션을 내 요소의 위치를 ​​기본값으로 다시 설정합니다 믿습니다; – Aiwatko

+0

@Aiwatko 님이 내 답변을 업데이트했습니다. – K3v1n

관련 문제