>  기사  >  웹 프론트엔드  >  페이지 이미지 전환의 마우스 휠 제어를 구현하는 JavaScript용 샘플 코드

페이지 이미지 전환의 마우스 휠 제어를 구현하는 JavaScript용 샘플 코드

黄舟
黄舟원래의
2017-10-16 11:10:511600검색

이 글에서는 주로 JavaScript 이벤트 응답 및 페이지 요소 관련 구현 기술의 동적 작동과 관련된 마우스 휠 제어 페이지 이미지 전환 기능의 JavaScript 구현을 소개합니다. 마우스 휠 제어 페이지 이미지 전환 기능. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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를 사용하여 청취해야 합니다. 이 함수에는 3개의 매개변수 가 있으며 유형은 click, focus... 유형이며 청취자가 직접 작성할 수 있습니다. method function(){ }, 내 예에서처럼 작성된 메서드 본문을 호출할 수도 있습니다. useCapture는 이벤트의 응답 순서를 나타내는 true와 false만 있는 부울 값입니다. false를 선택하면 버블링 메서드가 사용되고, true를 선택하면 Capture 메서드가 사용됩니다. addEventListener에 대해서는 나중에 자세히 설명하겠습니다. addEventListener(type,listener,useCapture)MouseWheel 방식에서 e.wheelDelta는 휠을 굴릴 때마다 +3/-3(위/아래로 스크롤)을 반환하는 반면 e.detail은 Firefox 브라우저와 호환됩니다. 휠을 굴릴 때마다 +120/-120(위로 스크롤/아래로 스크롤)이 반환됩니다. 이러한 반환된 값은 위로 스크롤할지 아래로 스크롤할지 결정하는 데 사용될 수 있습니다. for 루프는 그림을 순서대로 숨기고 표시하는 것뿐입니다. 이해하기 어렵지 않습니다.

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

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