저희 개발 작업에서 JavaScript는 꼭 필요한 부분이라고 할 수 있습니다. JavaScript를 사용하여 맨 위로 돌아가는 코드를 구현하는 경우가 종종 있을 것입니다. 오늘은 이 기능을 제공하겠습니다. 자세한 소개는 Back to Top 효과의 JavaScript 구현 예입니다!
네이티브 js를 사용하면 간단하게 맨 위로 돌아가는 효과를 얻을 수 있습니다. 요구 사항은 비교적 명확합니다. 1. 버튼 표시 및 숨기기. 2. 중간에 onscroll 지우기를 다시 실행합니다. 타이머 (아직 구현되지 않았습니다. 알려주시기 바랍니다)
코드:
<!-- Time:2016.8.4 author:Joel Dom操作 1.document.getElementById 根据ID获取标签元素 2.document.documentElement.scrollTop .ie滚动条数值 3.document.body.scrollTop .chrome 4.document.documentElement.clientHeight 可视区域高度 事件运用 1.window.onload 加载完毕触发事件 2.onclick 点击触发事件 3.window.scroll 滚动条触发事件 定时器 1.setInterval() 2.clearInterval() --> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .btn:hover{ background: blue; } .btn{ display: none; height: 40px; width: 40px; background: red; position: fixed; left: 1410px; top: 600px; } .image{ width: 1190px; margin:0 auto; } </style> <script type="text/javascript"> window.onload = function(){ var myBtn = document.getElementsByClassName("btn"); var clientHeight = document.documentElement.clientHeight; var timer = null; window.onscroll = function(){ var osTop = document.documentElement.scrollTop || document.body.scrollTop; if(osTop > clientHeight){ myBtn[0].style.display = "block"; } else{ myBtn[0].style.display = "none"; } } myBtn[0].onclick = function(){ clearInterval(timer); timer = setInterval(function(){ var osTop = document.documentElement.scrollTop || document.body.scrollTop; var spd = Math.floor((-osTop) / 1000); document.documentElement.scrollTop = osTop + spd; document.body.scrollTop = osTop + spd; if(osTop == 0){ clearInterval(timer); } },30); } } </script> </head> <body> <a href="javascript:;" class="btn">按钮</a> <p class="image"> <img src="tb_bg.jpg" alt=""> </p> </body> </html>
요약:
1. 렌더링 DOM 흐름 순서대로, hover는 a 앞에 쓰여진 경우에만 적용되며, 그렇지 않으면 덮어쓰게 됩니다.
2. 다양한 속성 메소드 사용 및 간단한 캡슐화.
3.getElementsByClassName은 nodelist를 반환하므로 배열 형태를 사용합니다.
4. 다른 브라우저에서의 호환성 문제의 경우 탭 키의 종속성을 버리고 대신 공백 두 개를 사용하십시오.
5. emmet 플러그인 설치 및 사용.
6. jq에서 제공하는 애니메이션을 사용하면 위로 돌아가는 효과를 더 쉽게 얻을 수 있습니다. 앵커 포인트 방법은 특정 상황에서도 사용할 수 있습니다. 문제는 일부 세부 정보가 브라우저 입력 필드에 표시된다는 것입니다.
관련 권장 사항:
JS 스크롤 이벤트 window.onscroll 및 위치: 맨 위로 돌아가기 구성 요소를 쓰도록 수정됨 그 IE6
javascript - iframe 외부에서 iframe의 콘텐츠를 다시 맨 위로 가져오는 방법
위 내용은 맨 위로 돌아가기 효과의 JavaScript 구현 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!