>웹 프론트엔드 >JS 튜토리얼 >마우스 휠 제어 페이지 이미지 전환 기능의 JavaScript 구현 예

마우스 휠 제어 페이지 이미지 전환 기능의 JavaScript 구현 예

韦小宝
韦小宝원래의
2018-01-12 09:55:021923검색

이 글에서는 주로 JavaScript를 소개하여 페이지 요소의 동적 작동을 위한 javascript 이벤트응답 및 관련 구현 기술을 포함하는 마우스 휠 제어 페이지 이미지 전환 기능을 구현합니다. JavaScript에 익숙한 친구는 이 글을 참고할 수 있습니다.

이 글은 다음과 같습니다. 기사에서는 JavaScript가 마우스 휠 제어 페이지 이미지 전환 기능을 구현하는 예제를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

마우스의 스크롤 휠은 좋은 것입니다. 제가 이런 말을 하는 이유는 웹을 빠르게 검색하고 긴 기사를 빠르게 읽는 데 도움이 되기 때문입니다. 웹 프런트엔드에 있는 우리가 어떻게 이 마우스 휠에 주의를 기울이지 않을 수 있을까요? 그러면 어떻게 하면 사용자가 웹을 더 잘 탐색할 수 있을까요?

가장 일반적인 방법은 휠을 스크롤하여 사진을 탐색할 수 있으므로 사용자가 다음 사진을 클릭하고 지루한 단계를 수행할 필요가 없습니다. 간단한 예를 살펴보겠습니다.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标通过滚动滚轮切换图片</title>
<style>
#picBox{
  width:800px;height:600px;
  margin:70px auto;
  }
</style>
<script>
  var nowPic=1;
  function MouseWheel(e){
    var pic;
    e=e||window.event;
    for(i=1;i<4;i++){
      if(i==nowPic){
          if(e.wheelDelta){//IE
              pic=document.getElementById("pic"+i);
              pic.style.display="block";
            }else if(e.detail){//Firefox
              pic=document.getElementById("pic"+i);
              pic.style.display="block";
            }
        }else{
          pic=document.getElementById("pic"+i);
          pic.style.display="none";
        }
      }
      if(nowPic>=3){
        nowPic=1;
      }else{
        nowPic++;
      }
    }
  /*Firefox注册事件*/
  if(document.addEventListener){
      document.addEventListener("DOMMouseScroll",MouseWheel,false);
    }
  window.onmousewheel=document.onmousewheel=MouseWheel;//IE/Opera/Chrome
</script>
</head>
<body>
  <h3 align="center">鼠标通过滚动滚轮切换图片</h3>
  <p id="picBox">
    <img src="http://picm.bbzhi.com/dongwubizhi/dongwuheji/dongwuheji_69803_m.jpg" width="800px" height="600px" id="pic1">
<span style="white-space:pre">   </span><img src="http://pic1a.nipic.com/2008-12-22/2008122204359187_2.jpg" width="800px" height="600px" id="pic2" style="display:none;">
<span style="white-space:pre">   </span><img src="http://imgphoto.gmw.cn/attachement/jpg/site2/20121221/002564a60ce4123e17614e.jpg" width="800px" height="600px" id="pic3" style="display:none;">
  </p>
</body>
</html>

js 코드에 집중하세요. 브라우저마다 마우스 휠 이벤트가 다릅니다. 직설적으로 말하면 호환성 문제입니다. 주로 onmousewheel(IE/Opera/Safari/Chrome)과 DOMMouseScroll(Firefox)이 있습니다. Firefox와 호환되려면 addEventListener를 사용하여 수신해야 합니다. 이 함수에는 addEventListener(type, Listener, useCapture)라는 세 가지 매개변수가 있으며, 유형은 클릭, 초점... 유형이고 리스너는 직접 작성할 수 있습니다. method function(){}, 내 예와 같이 작성된 메서드 본문을 호출할 수도 있습니다. useCapture는 이벤트의 응답 순서를 나타내는 true와 false만 있는 부울 값입니다. false를 선택하면 버블링 메서드가 사용되고, true를 선택하면 Capture 메서드가 사용됩니다. addEventListener에 대해서는 나중에 자세히 설명하겠습니다.

MouseWheel 방식에서 e.wheelDelta는 휠을 굴릴 때마다 +3/-3(위/아래로 스크롤)을 반환하는 반면 e.detail은 Firefox 브라우저와 호환됩니다. 휠을 굴릴 때마다 +120/-120(위로 스크롤/아래로 스크롤)이 반환됩니다. 이러한 반환된 값은 위로 스크롤할지 아래로 스크롤할지 결정하는 데 사용될 수 있습니다. for 루프는 그림을 순서대로 숨기고 표시하는 것뿐이므로 이해하기 어렵지 않습니다.

관련 권장사항:

JS로 구현된 간단한 양식 유효성 검사 기능의 예

JS 표시 콘텐츠로의 클릭 주기 전환 구현 방법

js 푸시박스 미니 게임 구현 튜토리얼


위 내용은 마우스 휠 제어 페이지 이미지 전환 기능의 JavaScript 구현 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.