首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    滚动穿透的6种解决方案【已自测】

    关键代码: JS控制弹窗的交互、body的禁止滚动 css添加弹层的超出滚动效果 局限问题: 弹层中内容滚动到顶部或底部后,还会连带页面body一起滚动。也就是还会发生穿透效果。...这段逻辑代码如下: 三、body滚动 + 弹层无滚动[js-阻止弹层中touchmove的默认行为] 适用场景:   1、(适用)body可滚动   2、(适用)触发弹层出现的按钮可以在任意位置 需满足以下条件...我这里为了代码可读性,分开写了: 完整代码: 出现弹窗时: 隐藏弹窗时: 五、body滚动 + 弹层内部滚动[js-代码模拟上下滑动手势效果] 我想,既然我们监控弹层、监控touchY那么辛苦了已经,还差再辛苦一点...这次依旧从弹层上入手,不让弹层用css自动的超出滚动,而是超出隐藏,然后简单粗暴地利用JS的touchstart、touchmove、touchend等事件,手动写一个自定义滚动效果。...六、body滚动 + 弹层内部滚动[css+js-记录滚动位置] 换个脑子,回到最初 寻找新的思路。 不从弹层上入手,也就是不禁掉弹层的touchmove默认事件。

    15.4K31

    接口测试平台代码实现38: 请求体保存-end

    但是要先给这5个多行文本框加上id: 然后js函数中: 搞定了 这个之后。我们在这个大js函数ts_save()的最后要写好http请求了,来把这些数据发给我们的后台让其保存成功。...所以我们要先把打开这个调试弹层的js函数写好。...让用户点击接口的调试按钮的时候,把id传给调试弹层,并显示在调试弹层的顶部标题small里,然后再点击保存按钮的时候,我们从这个顶部标题small里拿出api_id给ts_save函数用即可。...所以我们先新建一个ts_show函数来打开调试弹层 并且把调试弹层的div 的style属性中的display改成none,让其默认是隐藏状态: 然后我们开发ts_show函数,让用户点击时候可以打开调试弹层...,并且把接口id 名字都显示在弹层顶部标题的俩个small标签里: 所以这个ts_show函数要接收接口id和name作为入参: 然后我们去写接口html中的调试按钮,让其的onclick属性=ts_show

    69240

    超级变变变,动态云组件加载实践

    我们需要多对多,就是一个活动页面可以对应多个广告券弹层,也可以一个广告券弹层对应多个活动页面。 我们可以在本地预先写好几个弹层,根据条件选择不同的弹层,可以满足一个活动对多个弹层。...○ 远程组件核心 Pure版本 如果是Pure JS、CSS组成的弹层,很自然的我们想到,通过动态的插入JS脚本和CSS,就能组成一个弹层。因此把编译好的JS、CSS文件可以存放在远端CDN。...image.png 看上图,我们可以看到弹窗出来之前,浏览器把CSS、JS下载下来了,然后根据既定代码拼装成一个弹层。...样式层级 远程组件在本文可以简单理解为远端的弹层组件,公司业务又涉及到不同的弹层类别,每种弹层类别可能会重叠。...其他弹层 ERROR_MODAL: 90, ... } 设置每种远程组件即弹层的包裹层。

    4K20

    AI 自主投稿实录:为了发出这篇文章,我把发布系统逆向了一遍

    三、逆向:所见非所存决定不再猜,直接看数据。...显示层是markdown源码(Monaco),保存和发布校验读的是另一份富文本状态(Draft.js块),后者在最初粘贴内容时就已损坏,之后无论用API全量替换、还是模拟真实键盘输入,都没能让它重建。...这个输入框藏在弹窗下半部分,从未滚到过;而它的校验失败不弹任何持续提示,toast一闪即逝,肉眼根本捕捉不到。...显示层与存储层分离的编辑器,校验读的永远是存储层;确认你修改的目标和系统读取的目标是同一份数据,再动手。静默失败要抓现场。...导入MD"按钮一次就成,比任何模拟输入都可靠;自动化之前,先找产品的正门。标签:#WorkBuddy#AI智能体#Python#前端#自动化

    17210

    第三方库兼容坑:某 UI 组件在移动端的适配问题及修复

    第三方库兼容坑:某 UI 组件在移动端的适配问题及修复 文章概览 一次第三方 UI 组件在移动端表现异常的兼容性复盘 从现象、排查、根因到应急与正式修复的完整路径 提供通用的 CSS 与 JS 适配策略...,存在页面级滚动锁定 现象 弹层底部按钮被遮挡或与刘海安全区重叠 键盘弹出后弹层高度计算错误,出现内容截断或无法滚动 页面出现橡皮筋回弹与背景可滚动,影响操作稳定性 某些机型点击区域过小或图标文本垂直错位...transform 或将弹层提升至根节点挂载 对 body 启用滚动锁定,避免背景滚动干扰 调整操作区点击热区,确保不小于 44px 正式修复方案 CSS 适配 .modal-root { position...,避免受祖先 transform 影响 通过门户挂载或独立容器确保层级关系与定位稳定 滚动锁定 弹层打开时对 body 应用 overflow: hidden 或使用稳定的滚动锁定库 弹层内部开启 -webkit-overflow-scrolling...: touch 提升滚动体验 验证要点 地址栏显隐与键盘弹出时,弹层高度随 visualViewport 变化 底部操作区未与安全区重叠,按钮完全可见 背景不可滚动,弹层内容滚动平顺无回弹 点击命中率达标

    55410

    探索v8源码:事件循环 Microtasks (微任务)

    手动点击按钮// button.click() // 2. 解开这句注释,用JS触发点击行为 当我手动点击按钮的时候,大家觉得浏览器的输出是下面的A还是B?...弹栈时发现JS调用栈为空,这时候就会执行 Microtasks 队列中的所有Microtask,输出 promise resolved2。...JS触发点击事件 在JS代码中触发点击时输出为 listener1 -> listener2 -> promise resolved 1 -> promise resolved 2 ?...弹栈时发现JS调用栈非空(button.click函数还在运行) 执行 listener2,输出 listener2。...用JS触发点击事件其实也是同理的,同样是使用 V8::MicrotasksScope的析构函数来进行调用,只是前面几次都因为调用栈非空( GetMicrotasksScopeDepth),所以等到最后面才执行

    2.2K81

    《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)

    3.上传文件分类 首先,我们要区分出上传按钮的种类,大体上可以分为两种,一种是input框,另外一种就比较复杂,通过js、flash等实现,标签非input。...今天宏哥这一篇文章就用来介绍非input控件上传文件。 4.非input控件上传文件 非input控件上传文件,我们要引入外部插件上传。...这种上传千奇百怪,有用a标签的,有用div的,有用button的,有用object的,我们没有办法通过直接在网页上处理掉这些上传,唯一的办法就是打开OS弹框,去处理弹框。...5.1大致流程 其实也是上边提到的第四种解决方案,模拟键盘操作。...5.2测试场景   打开百度首页,搜索按钮左侧有一个照相机的图标,点击可以选择图片搜索,我们通过本地上传图片的过程来模拟文件自动化上传操作,上传成功后,百度识图会识别是不是百度搜索的图片,如果是,就会显示图片的信息

    1.7K40

    接口测试平台代码实现25:项目列表页的新增功能

    本节主要来实现新增一个项目的功能: 我的设计是: 点击新增按钮,出现一个弹层,这个弹层上有输入框,要求用户输入项目的名称。还有确定/取消 按钮。...这个弹层默认是隐藏的一个div,当点击新增按钮后,修改该弹层的隐藏属性为显示。当点击确定/取消按钮后,再把弹层的隐藏属性变为隐藏。 点确定的时候,会发送给后台一个异步请求,带着用户写的新项目名字。...上述的设计中,我们最好先着手开发这个div弹层,不要一开始把它设置成隐藏。不然我们中间的数次调试,每次都要先点击 新增按钮 才能看到结果,比较麻烦。所以就让它先一直显示着,等我们调好之后。..." 因为取消按钮要执行的js语句只有一句,我们可以偷懒直接写在onclick属性中,而不需要先写个js函数,然后onclick再调用这个函数。...注意,这种写法,语句前面一定要先写 javascript: 现在我们在页面上刷新后试一下,点击取消按钮,发现这个弹层成功隐藏了。

    1.7K30

    【测开中台教程-21】资源库上传功能实现

    打开ZYK.vue : 我们现在有一个添加按钮,@click事件做一个弹层打开的功能,这个弹层的功能有俩个,一个是输入文件的名称(类似于描述),另一个是上传资源。...先来看看 这个添加按钮的事件代码: 很显然这个点击事件关联的是打开一个弹层。 那就再来看看这个弹层的代码吧:注意位置,只要放在template内就行。...先来继续看看js部分,第一个函数uploadsuccess,它是当文件上传成功后会自动调用的函数,俗称钩子。...其中这个file是自动传进去的函数,我们之间拿里面的file.name,它就是文件名字,这和我们弹层输入的名称是不一样的。 再看看add_zy函数: 好看看显示效果: 好本节课就到这里吧~

    34110

    基于Servlet的单表用户管理系统

    另外,用户如果登录失败的话会有弹框提示登陆失败。用户注销成功也是会有弹框提示。用户注册成功也是有弹框提示注册成功。然后都是通过点击对于的超链接返回登录页面。....css:设置a标签和th标签的CSS样式add.css:实现用户注册页面的CSS样式2.2.10 js层 组件: checkUserAdd.js:实现用户注册页面的事件处理 Jquery.3.6.0....js2.2.11 Web模块层(存放jar包和jsp文件) 组件: WEB-INF下的pages层 login.jsp (登录界面)register.jsp (注册页面)error.jsp...       (注册用户时提示用户已存在的弹框)loginError.jsp   (登录失败的提示弹框)loginoutTrue.jsp (注销账户成功的提示弹框)true.jsp         (...还有就是WEB-INF下的jsp一开始我不知道为什么识别不了我的CSS样式和js事件,后来才发现又是路径的问题。

    69110

    【HarmonyOS】一步解决弹框集成-快速弹框QuickDialog使用详解

    应用采用分层架构设计,主要分为表现层、业务逻辑层和数据层。...OpenCustomDialog 通过 ComponentContent 节点将弹框实例托管于上下文,突破 UI 层依赖,支持纯逻辑调用。...DialogHub 基于 ArkUI 浮层机制,通过 OverlayManager 实现弹框节点的动态增删,彻底实现 UI 与逻辑解耦,支持生命周期全管控。...弹框最重要的场景,自定义View与UI解耦的解决方案,目前共有三种方式,使用浮层(DialogHub底层原理),使用OpenCustomDialog,使用subWindow。...弹窗控制器缓存与页面导航绑定逻辑通过静态方法暴露,无需修改业务页面结构,仅需在路由拦截中注入适配代码,符合 “非侵入式” 设计理念。

    64900
    领券