>  기사  >  웹 프론트엔드  >  JavaScript는 마우스 휠 제어 페이지 이미지 전환을 구현합니다.

JavaScript는 마우스 휠 제어 페이지 이미지 전환을 구현합니다.

小云云
小云云원래의
2018-01-29 10:27:122068검색

마우스의 스크롤 휠은 좋은 것입니다. 웹을 빠르게 검색하고 긴 기사를 빠르게 읽을 수 있기 때문입니다. 웹 프런트엔드에 있는 우리가 어떻게 이 마우스 휠에 주의를 기울이지 않을 수 있을까요? 그러면 어떻게 하면 사용자가 웹을 더 잘 탐색할 수 있을까요? 이 기사에서는 주로 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를 사용하여 수신해야 합니다. 이 함수에는 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 페이지 글꼴 크기 제어 문제_html/css_WEB-ITnose

jQuery 연구 노트 제어 페이지 구현 code_jquery

js 페이지 점프를 제어하는 ​​5가지 방법_ 자바스크립트 기술

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

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