자바 스크립트 마우스 위치로 이미지를 변경 하시겠습니까?

h0bb5

이 사이트에 표시된 것과 같은 효과를 얻으려고합니다 : https://ca.warbyparker.com/eyeglasses/women/louise/elderflower-crystal

마우스 위치 (또는 모바일의 경우 엄지 손가락)를 이동하면 마우스의 수평 위치에 따라 표시된 이미지가 변경됩니다.

나는 그것이 반응하도록 노력해 왔고 작동하는 jquery 또는 바닐라 자바 ​​스크립트 솔루션을 얻음에도 불구하고 약간의 문제가 있습니다.

내가 지금까지 가지고있는 것 :

HTML :

<div class="product-hero">

        <div class="hero-container">
          <img class="product-hero-image left" src="http://placehold.it/708x1282/000000?text=%3C%E2%80%93+left" alt="" />
          <img class="product-hero-image middle" src="http://placehold.it/708x1282/000000?text=middle" alt="" />
          <img class="product-hero-image right" src="http://placehold.it/708x1282/000000?text=right+--%3E" alt="" />

        </div>
      </div>

자바 스크립트 :

$(window).mousemove(getMousePosition);

    function getMousePosition(event) {
      let imageTop = $('.product-hero-image').offset().top;
      let imageLeft = $('.product-hero-image').offset().left;
      let imageBottom = imageTop + $('.product-hero-image').height();
      let imageRight = imageLeft + $('.product-hero-image').width();

      var mouseX = event.pageX;
      var mouseY = event.pageY;

      if (mouseX > imageLeft && mouseX < imageRight && mouseY < imageTop) {
        $('.product-hero-image.middle').toggle();
        console.log('top right');
      } else if (mouseX < imageLeft && mouseY < imageTop) {
        $('.product-hero-image.left').toggle();
        console.log('top left');
      } else if (mouseX < imageLeft && mouseY > imageTop && mouseY < imageBottom) {
        $('.product-hero-image.left').toggle();
        console.log('bottom left');
      } else if (mouseX < imageLeft && mouseY > imageBottom) {
        $('.product-hero-image.left').toggle();
        console.log('left');
      } else if (mouseX > imageLeft && mouseX < imageRight && mouseY > imageBottom) {
        $('.product-hero-image.middle').toggle();
        console.log('middle');
      } else if (mouseX > imageRight && mouseY > imageBottom) {
        $('.product-hero-image.right').toggle();
        console.log('right');
      } else if (mouseX > imageRight && mouseY > imageTop && mouseY < imageBottom) {
        $('.product-hero-image.right').toggle();
        console.log('bottom right');
      } else if (mouseX > imageRight && mouseY < imageTop) {
        $('.product-hero-image.right').toggle();
        console.log('top right');
      } else {
        $('.product-hero-image.middle').toggle();
        console.log('middle');
      }
    }

    $('.product-hero-image').css('z-index', '0');

https://codepen.io/H0BB5/pen/rwqwPP

어떤 도움이라도 대단히 감사합니다! :)

Henrique Oecksler Bertoldi

코드에서 너무 많은 논리 결정을 내 렸습니다.

당신은 일을 더 쉽게해야합니다 : D. 나는 당신의 코드를 포크하고 그것을 단순화하고 작동합니다. 이것을 확인하십시오 .

$(".product-hero").mousemove(getMousePosition);

function getMousePosition(event) {
  let elementVisible = $('.product-hero-image:visible');
  let imageTop = elementVisible.offset().top;
  let imageLeft = elementVisible.offset().left;
  let imageBottom = imageTop + elementVisible.height();
  let imageRight = imageLeft + elementVisible.width();

  var mouseX = event.pageX;
  var mouseY = event.pageY;

  if (mouseY < imageTop || mouseY > imageBottom) {
    return;
  }
  console.log(mouseY);
  elementVisible.hide();

  if (mouseX > imageLeft && mouseX < imageRight){
    $('.product-hero-image.middle').show();
  }
  else if (mouseX < imageLeft) {
    $('.product-hero-image.left').show();
  }
  else {
    $('.product-hero-image.right').show();
  }
}

$('.product-hero-image').css('z-index', '0');

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 : 이미지를 마우스 위치로 회전 하시겠습니까?

분류에서Dev

자바 스크립트로 브라우저의 기본 위치 다운로드를 변경 하시겠습니까?

분류에서Dev

페이드 인 / 페이드 아웃 대신 서로 위에 페이드 인하도록 자바 스크립트를 변경 하시겠습니까?

분류에서Dev

요소 위로 마우스를 가져 가서 자식의 불투명도를 변경 하시겠습니까?

분류에서Dev

자식 요소 위로 마우스를 가져가 부모의 CSS를 변경 하시겠습니까?

분류에서Dev

자바 스크립트에서 변수를 쿠키로 저장 하시겠습니까?

분류에서Dev

마우스 오버시 자바 스크립트 또는 CSS를 사용하여 배경 이미지 페이딩

분류에서Dev

자바 스크립트로 하나의 이미지 만 변경하는 방법

분류에서Dev

자바 스크립트를 사용하여 마우스 오버시 텍스트를 바꾸시겠습니까?

분류에서Dev

변경되는 URL을 자바 스크립트 변수로 저장 하시겠습니까?

분류에서Dev

페이지를 다시로드 할 때 자바 스크립트 변수 변경

분류에서Dev

WebView에서 로컬 자바 스크립트를로드 하시겠습니까?

분류에서Dev

동적으로 이미지 src 변경 자바 스크립트

분류에서Dev

자바 스크립트로 이미지 변경

분류에서Dev

자바 스크립트로 이미지 src 변경

분류에서Dev

이미지 슬라이드 쇼용 자바 스크립트로 backgroundImage를 변경합니다.

분류에서Dev

자바 스크립트를 사용하여 HTML을 이미지로 변환

분류에서Dev

객체 키를 이미지로 변환하는 자바 스크립트

분류에서Dev

자바 스크립트 전용-숨겨진 라디오 버튼 위로 마우스를 가져가 이미지 변경

분류에서Dev

자바 스크립트는 동적으로 이미지를 변경

분류에서Dev

가치 변경시 자바 스크립트를 실행할 수 없습니다.

분류에서Dev

Windows 배치 스크립트 (확장자 유지)를 사용하여 파일 이름을 변경 하시겠습니까?

분류에서Dev

자바 스크립트에서 배경 위치를 변경하면 디스플레이가 엉망입니다.

분류에서Dev

마우스 오버시 이미지를 텍스트로 변경

분류에서Dev

다른 자바 스크립트 라이브러리를로드하는 페이지에 자바 스크립트를 삽입 하시겠습니까?

분류에서Dev

다른 자바 스크립트 라이브러리를로드하는 페이지에 자바 스크립트를 삽입 하시겠습니까?

분류에서Dev

자바 스크립트를 사용하여 이미지 변경 / 순환

분류에서Dev

확장 자바 스크립트를 사용하여 이미지 변경

분류에서Dev

자바 스크립트를 사용하여 커서 이미지 (CSS URL) 변경

Related 관련 기사

  1. 1

    자바 : 이미지를 마우스 위치로 회전 하시겠습니까?

  2. 2

    자바 스크립트로 브라우저의 기본 위치 다운로드를 변경 하시겠습니까?

  3. 3

    페이드 인 / 페이드 아웃 대신 서로 위에 페이드 인하도록 자바 스크립트를 변경 하시겠습니까?

  4. 4

    요소 위로 마우스를 가져 가서 자식의 불투명도를 변경 하시겠습니까?

  5. 5

    자식 요소 위로 마우스를 가져가 부모의 CSS를 변경 하시겠습니까?

  6. 6

    자바 스크립트에서 변수를 쿠키로 저장 하시겠습니까?

  7. 7

    마우스 오버시 자바 스크립트 또는 CSS를 사용하여 배경 이미지 페이딩

  8. 8

    자바 스크립트로 하나의 이미지 만 변경하는 방법

  9. 9

    자바 스크립트를 사용하여 마우스 오버시 텍스트를 바꾸시겠습니까?

  10. 10

    변경되는 URL을 자바 스크립트 변수로 저장 하시겠습니까?

  11. 11

    페이지를 다시로드 할 때 자바 스크립트 변수 변경

  12. 12

    WebView에서 로컬 자바 스크립트를로드 하시겠습니까?

  13. 13

    동적으로 이미지 src 변경 자바 스크립트

  14. 14

    자바 스크립트로 이미지 변경

  15. 15

    자바 스크립트로 이미지 src 변경

  16. 16

    이미지 슬라이드 쇼용 자바 스크립트로 backgroundImage를 변경합니다.

  17. 17

    자바 스크립트를 사용하여 HTML을 이미지로 변환

  18. 18

    객체 키를 이미지로 변환하는 자바 스크립트

  19. 19

    자바 스크립트 전용-숨겨진 라디오 버튼 위로 마우스를 가져가 이미지 변경

  20. 20

    자바 스크립트는 동적으로 이미지를 변경

  21. 21

    가치 변경시 자바 스크립트를 실행할 수 없습니다.

  22. 22

    Windows 배치 스크립트 (확장자 유지)를 사용하여 파일 이름을 변경 하시겠습니까?

  23. 23

    자바 스크립트에서 배경 위치를 변경하면 디스플레이가 엉망입니다.

  24. 24

    마우스 오버시 이미지를 텍스트로 변경

  25. 25

    다른 자바 스크립트 라이브러리를로드하는 페이지에 자바 스크립트를 삽입 하시겠습니까?

  26. 26

    다른 자바 스크립트 라이브러리를로드하는 페이지에 자바 스크립트를 삽입 하시겠습니까?

  27. 27

    자바 스크립트를 사용하여 이미지 변경 / 순환

  28. 28

    확장 자바 스크립트를 사용하여 이미지 변경

  29. 29

    자바 스크립트를 사용하여 커서 이미지 (CSS URL) 변경

뜨겁다태그

보관