网站建设需要什么硬件和软件有哪些方面网站中文字内容左右切换的js代码

张小明 2026/1/19 18:59:32
网站建设需要什么硬件和软件有哪些方面,网站中文字内容左右切换的js代码,wordpress栏目页调用内容,南宁网站建设排名移动端弹窗“滚动穿透”的终极解决方案#xff1a;为什么 overflow: hidden 没用#xff1f;在移动端 H5 开发中#xff0c;“滚动穿透”#xff08;Scroll Chaining / Ghost Scroll#xff09;绝对是让无数前端开发者血压升高的经典 Bug 之一。什么是“滚动穿透”#x…移动端弹窗“滚动穿透”的终极解决方案为什么 overflow: hidden 没用在移动端 H5 开发中“滚动穿透”Scroll Chaining / Ghost Scroll绝对是让无数前端开发者血压升高的经典 Bug 之一。什么是“滚动穿透”场景很简单你打开了一个全屏弹窗Modal/Popup。弹窗下面有一层长列表背景。当你在弹窗上滑动手指时底下的背景页面竟然跟着一起滚动了这不仅体验极差还容易导致弹窗错位或用户迷失上下文。常见误区以为 CSS 就能搞定大多数人的第一反应是“这还不简单给 body 加个overflow: hidden不就行了”/* ❌ 只有 PC 端有效移动端经常翻车 */ body.modal-open { overflow: hidden; }为什么失效在 PC 端overflow: hidden确实能隐藏滚动条并禁止滚动。但在移动端特别是 iOS Safari浏览器认为body的滚动是“视口Viewport”级别的特性。即使你禁用了body的溢出用户手指在屏幕上拖拽Touch Events时浏览器依然会触发默认的滚动行为甚至引发橡皮筋效果。进阶方案阻止 touchmove有副作用第二种常见的方案是直接阻止弹窗遮罩层的触摸事件// ❌ 这种一刀切的方案会导致弹窗内部也无法滚动modal.addEventListener(touchmove, (e) { e.preventDefault(); }, { passive: false });局限性如果你的弹窗内部本身就需要滚动比如一个长长的语言选择列表这行代码会把弹窗内部的滚动也一并杀掉导致“死锁”。虽然可以通过判断target来优化但逻辑非常繁琐。终极解决方案Body 固定定位法Position Fixed目前业界包括 Ant Design Mobile, Vant 等主流组件库公认的最稳妥方案就是**“Body 固定定位法”**。核心原理既然禁止滚动失效那我们就从物理上切断滚动的可能。 当弹窗打开时我们将body设置为position: fixed。一个固定定位的元素天然就是死死钉在屏幕上的无论你怎么滑它都不可能动。带来的新问题页面跳顶单纯设置position: fixed会导致一个严重的副作用页面会瞬间跳回到顶部。因为脱离文档流后scrollTop丢失了。完整代码实现为了解决跳顶问题我们需要在“锁定”前记录当前的滚动位置并在“解锁”后恢复它。这正是我们项目Popup组件中那段 useEffect 代码的逻辑// React Hook 示例useEffect(() { if (visible) { // 1. 锁定记录位置并固定 Body const scrollTop window.scrollY || document.documentElement.scrollTop; document.body.style.position fixed; document.body.style.top -${scrollTop}px; // 把页面“拉”回原来的视觉位置 document.body.style.width 100%; // 存起来一会儿还要用 document.body.dataset.scrollY scrollTop.toString(); } else { // 2. 解锁恢复样式并滚动回去 const scrollTop parseInt(document.body.dataset.scrollY || 0, 10); document.body.style.position ; document.body.style.top ; document.body.style.width ; // 恢复滚动位置让用户无感知 window.scrollTo(0, scrollTop); } }, [visible]);代码解析document.body.style.position fixed这是核心强制禁止滚动。top -${scrollTop}px这是精髓。假设你滚到了 500px 的位置为了防止变为 fixed 后跳回 0px我们给 body 一个-500px的偏移量视觉上页面就纹丝不动了。window.scrollTo(0, scrollTop)关闭弹窗时解除 fixed此时页面真的回到了 0px我们必须立即用 JS 把它滚回到之前的 500px实现无缝衔接。总结虽然这段 JS 代码看起来有点“重”甚至操作了 DOM但它目前是解决移动端尤其是 iOS滚动穿透问题兼容性最好、副作用最小的方案。下次遇到弹窗滚动穿透别再纠结overflow: hidden了直接上“Body 固定定位法”吧
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

常州知名网站建设公司wordpress 满屏主题

终极图像去重神器AntiDupl.NET:快速清理重复图片的完整指南 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾在整理照片时发现同一场景拍摄了多张几…

张小明 2026/1/17 17:10:18 网站建设

企业营销类专业网站网站建设介绍怎么写

软件开发中的M4使用、接口设计与递归目标实现技巧 1. M4使用与问题诊断 在软件开发中,M4的使用虽然看似简单,但深入使用会发现其复杂性。在使用M4处理 configure.ac 文件时,可能会遇到各种问题。 常见问题 :人们在编写M4宏时,常因细节问题而遇到阻碍,而非对宏的工作…

张小明 2026/1/17 17:10:19 网站建设

专业彩票网站建设食品包装设计要求规范

Linly-Talker助力品牌营销:定制化数字代言人上线 在电商直播间的深夜灯光下,一位“主播”仍在热情洋溢地讲解新品功能——她语调亲切、口型精准,眼神自然流转。但你可能没意识到:这位24小时在线的代言人,并非真人&…

张小明 2026/1/17 17:10:20 网站建设

看p站用什么浏览器动画设计师是干什么的

GeoTools深度解析:构建企业级地理信息系统的核心技术栈 【免费下载链接】geotools Official GeoTools repository 项目地址: https://gitcode.com/gh_mirrors/ge/geotools 在当今数字化转型浪潮中,地理信息系统已成为企业智能化决策的关键支撑。G…

张小明 2026/1/17 17:10:22 网站建设

涡阳在北京做网站的名人d代码做网站

你的键盘是否真正为你所用?还是你一直在适应键盘的默认布局?想象一下:当你在激烈的游戏过程中,不小心碰到Windows键导致游戏中断;当你在专注写作时,误触Caps Lock打乱整段文字的节奏。这些看似微小的问题&a…

张小明 2026/1/17 17:10:22 网站建设

建设企业网站公司价格怎么样给网站的服务器续费

在高校的深夜自习室里,总能看到这样一幕:研究生们对着空白文档发呆,光标在“论文题目”几个字后不断闪烁,却迟迟敲不出下一行;导师反复追问“研究问题是否明确”“创新点在哪里”,而学生只能在脑海里翻来覆…

张小明 2026/1/17 17:10:23 网站建设