<!doctype html> <html> <head> <meta charset="utf-8"> <title>scrollTop测试</title> <style type="text/css">.demo{width:100vw;height:300vh;background:#cce8cf;}</style> <script type="text/javascript"> window.onscroll = function () { // scrollTop就是触发滚轮事件时滚轮的高度(为了保证兼容性,这里取两个值,哪个有值取哪一个) var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; console.log('滚动条位置:' + scrollTop); } </script> </head> <body> <div class="demo"></div> </body> </html>
<!doctype html> <html> <head> <meta charset="utf-8"> <title>scrollTop测试</title> <style type="text/css">.demo{width:100vw;height:300vh;background:#cce8cf;}</style> <script type="text/javascript"> /** * 防抖函数 * * @param string func 要使用防抖功能的函数名 * @param int millisec 调用函数间隔时间,单位:毫秒 * @return void */ function debounce(func, millisec) { var timeout = null; return function () { if (timeout !== null) { clearTimeout(timeout); } timeout = setTimeout(func, millisec); } } function printScrollTop() { // scrollTop就是触发滚轮事件时滚轮的高度(为了保证兼容性,这里取两个值,哪个有值取哪一个) var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; console.log('滚动条位置:' + scrollTop); } window.onscroll = debounce(printScrollTop, 1000); // 原生JavaScript方式 // $(window).scroll(debounce(printScrollTop, 1000)); // 使用jQuery方式 </script> </head> <body> <div class="demo"></div> </body> </html>
<!doctype html> <html> <head> <meta charset="utf-8"> <title>scrollTop测试</title> <style type="text/css">.demo{width:100vw;height:300vh;background:#cce8cf;}</style> <script type="text/javascript"> /** * 节流函数 * * @param string func 要使用节流功能的函数名 * @param int millisec 调用函数间隔时间,单位:毫秒 * @return void */ function throttle(func, millisec) { var canRun = true; return function () { if (!canRun) return; canRun = false; setTimeout(function () { func(); canRun = true; }, millisec); }; } function printScrollTop() { // scrollTop就是触发滚轮事件时滚轮的高度(为了保证兼容性,这里取两个值,哪个有值取哪一个) var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; console.log('滚动条位置:' + scrollTop); } window.onscroll = throttle(printScrollTop, 1000); </script> </head> <body> <div class="demo"></div> </body> </html>
Copyright © 2024 码农人生. All Rights Reserved