当前位置: 首页 > news >正文

看长帖不想动手?用这行代码

适用场景
看长文、小说或长贴时,解放双手,让浏览器自动向下滚动。

操作方法
打开浏览器控制台 -> 找到 Console -> 粘贴代码并回车,即可启动自动滚动。

(() => {// 如果之前跑过,先停掉旧脚本if (window.__autoScrollCtl?.stop) {window.__autoScrollCtl.stop();}const STEP_PX = 260; // 每次下滑距离const INTERVAL_MS = 1500; // 每次间隔,约为之前的 1/3const SMOOTH = true; // 是否平滑滚动const MAX_IDLE_TICKS = 20; // 连续多少次几乎没动就认为到底了const scroller = document.scrollingElement || document.documentElement;let timer = null;let running = false;let lastTop = scroller.scrollTop;let idleTicks = 0;function tick() {const before = scroller.scrollTop;window.scrollBy({top: STEP_PX,left: 0,behavior: SMOOTH ? "smooth" : "auto",});setTimeout(() => {const after = scroller.scrollTop;const moved = Math.abs(after - before);if (moved < 5) {idleTicks += 1;} else {idleTicks = 0;}lastTop = after;if (idleTicks >= MAX_IDLE_TICKS) {console.log("[auto-scroll] 可能已经到底,自动暂停");pause();}},Math.min(900, Math.max(300, INTERVAL_MS - 200)),);}function start() {if (running) return;running = true;timer = setInterval(tick, INTERVAL_MS);console.log(`[auto-scroll] 已启动: ${STEP_PX}px / ${INTERVAL_MS}ms`);}function pause() {if (!running) return;clearInterval(timer);timer = null;running = false;console.log("[auto-scroll] 已暂停");}function resume() {if (running) return;idleTicks = 0;start();}function stop() {clearInterval(timer);timer = null;running = false;idleTicks = 0;console.log("[auto-scroll] 已停止");}window.__autoScrollCtl = {start,pause,resume,stop,status() {return {running,top: scroller.scrollTop,height: scroller.scrollHeight,viewport: window.innerHeight,stepPx: STEP_PX,intervalMs: INTERVAL_MS,idleTicks,};},};start();
})();

过程控制
在 Console 继续输入以下命令可控制滚动:

  • 暂停:__autoScrollCtl.pause()
  • 继续:__autoScrollCtl.resume()
  • 停止:__autoScrollCtl.stop()
  • 查看状态:__autoScrollCtl.status()
http://www.jsqmd.com/news/662828/

相关文章:

  • Beyond Compare 5 密钥生成器:免费激活终极教程
  • Anthropic推出Claude Design,美国设计软件龙头Figma股价应声下跌6.84%
  • Matlab科研绘图实战:面积填充图(area)的进阶配色与多场景应用
  • A1278老将再战:从官方止步High Sierra到OCLP解锁macOS Sequoia的完整指南
  • The Last Day Of The Life
  • USRP B210 FPGA顶层接口设计解析:从代码到硬件连接的实战指南
  • 2026 高温炉选购指南:七大品牌实力盘点,箱式 / 管式 / 气氛炉怎么选更靠谱 - 品牌推荐大师
  • # linux红帽教程-手把手教学
  • 2026年亲测10款降AI率神器:规避AI检测保质量的最优解,附论文降AI避坑指南 - 降AI实验室
  • 下一代搜索引擎会是Multi-Agent系统吗?从索引检索到动态解答的演进
  • Pr中视频分段导出
  • 告别编译焦虑:香橙派5Plus内核升级的三种姿势(deb包、源码安装、板端编译)全解析
  • 学习JAVA的第一周
  • 2026届学术党必备的降AI率神器实际效果
  • ZYNQ - 嵌入式Linux开发 - 从零到一:Petalinux工程构建与启动全解析
  • 2026青羊区装修公司推荐,青羊区十大装修公司品牌实力推荐:设计施工一体化的2026高口碑名单 - 推荐官
  • AGI验证不是“加个测试集”那么简单:基于27个真实事故案例的12项反模式清单
  • MATLAB深度学习入门:DeepLearnToolbox工具箱的配置与经典模型实践
  • 灰色系统预测模型GM(1,1)
  • [嵌入式系统-257]:如何理解进程是任务资源分配的最小单位,线程是CPU调度的最小单位
  • 终极指南:如何用gmx_MMPBSA轻松计算蛋白质-配体结合自由能
  • Google Earth Engine(GEE)——多源遥感森林地上生物量土地分类利用像素值光谱差异进行分析逐年批量土地分类(Landsat5/7/8/9)
  • SDD-skills执行遗漏问题
  • 全球仅3家机构掌握的AGI沙盒熔断机制(含开源轻量版实现),限时开放首批200个测试授权
  • CS32L010芯片烧录实战:用Keil+Jlink一键搞定hex文件(附常见错误排查)
  • 2026成都金牛区装修公司推荐,金牛区十大装修公司深度解析业主真实反馈TOP榜 - 推荐官
  • 2026武侯区装修公司推荐,武侯区装修公司实力榜:从材料环保到工艺细节的全程保障 - 推荐官
  • PuLP扩展应用:数独求解、婚礼座位安排等趣味案例
  • 告别连接失败:ESP32 BLE客户端如何正确扫描并配对亿佰特蓝牙模块
  • Rust的async闭包与高阶函数在异步编程中的组合使用方式