2016-06-24 1 views
0

내 자신의 이미지를 줌 JS 코드 (http://www.elevateweb.co.uk/image-zoom/examples#inner-zoom과 유사)로 작성하고 싶지만이 플러그인과 다른 모든 플러그인의 문제는 img 태그에 의존한다는 것입니다. 동일한 효과를 내기 위해 배경 이미지를 사용하고 싶습니다.이미지 확대 JS JS (배경 이미지, img가 아님)

나는 jsFiddle을 만들었지 만, 나는 마우스 움직임을 재현하는 데 문제가있다. 당신이 마우스를 가져 가면 배경 이미지의 크기를 조정할 수 있다고 생각했는데 (JS를 통해 JS를 통해 더 큰 이미지로 바꿀 수 있음) 포인터를 따라가는 것이 아니라 이미지/컨테이너의 가장자리를 따라갈 수있는 방법을 찾지 못했습니다. .

https://jsfiddle.net/x69tk48s/

$('.inner').mousemove(function(e) { 
    $('.each-image .bg').offset({ 
     left: e.pageX, 
     top: e.pageY 
    }); 
}); 

$('.inner').on('mouseleave', function() { 
    $('.each-image .bg').css({ 
     left: 0, 
     top: 0 
    }); 
}); 

어떤 생각?

답변

0

수학이 옳지는 않지만 여기에 대략적인 아이디어가 있습니다 : https://jsfiddle.net/3cebzudv/2/ (대략적인 아이디어를 얻으려면 왼쪽 상단에 마우스를 갖다 대는 것으로 시작하십시오).

기본적으로 마우스 이미지의 배경 이미지를 확대 한 다음 mousemove의 backgroundPosition 속성으로 위치를 변경하십시오.

+0

도움 주셔서 대단히 감사합니다. 브라이언. 나는 당신을 얻는다. 그리고 나는 '가장자리'가 무엇인지 알아 내야 할 것 같아서 이미지를 '벗어나게'확대하지 않습니다. –

+1

맞아, 네가 "컨테이너"안에 마우스가있는 곳을 기반으로 몇 가지 계산을해야하고 얼마나 많은 이미지를 가지고 작업해야하는지 비교해야한다. 사전에 이미지 크기를 알고있는 경우이 방법이 더 쉬울 것입니다. 그러나 그렇지 않은 경우 이미지 크기를 동적으로 (로드 된 후에) 읽은 다음 계산의 기초로 모든 방법을 사용하는 방법이 있습니다. –