首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你也许不知道浏览器一些滚动行为

最近挺忙,这次抽空写写文陶冶下情操,浏览器滚动真的天天见日日见啦,比如你现在看这篇文章,往下看就必须得滚动,这篇文章主要聊聊滚动相关一些方法跟属性,还有一些有趣例子?...分类 按照我个人理解,滚动分全局滚动(浏览器窗口)跟局部滚动(自定义盒子),以下内容绝大部分都是指全局滚动,局部滚动的话获取指定DOM再调用相应API即可✅ 如何设置全局滚动条高度 1....或者用锚点: 盒子出现在顶部 效果如下: 3....window.scrollTo(0, 999999); 注意:平滑滚动到顶部或者底部自己加参数或者属性即可✅ 3....; 效果如下: 当你加了函数节流之后: window.addEventListener("scroll", throttle(() => console.log("我在我在!")))

2.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

实现一个Vue3版抖音滑动插件采坑指南!

,发现都不太匹配 他们在实现上,那么只能集几百家之长自己来了,既然自己来就需要针对当前三个问题来寻找既能解决问题,又能快速实现方案(毕竟有排期) 实现思路 在实现初步设想,我们不只需要解决问题,其实也需要考虑一些架构设计...并且类似抖音视频上方一些元素,比如点赞,分享等功能需要外部传入,让别的开发者在使用时自己定制 怎样将组件结构拆分出来,能单独打包上传npm 供大家使用 组件设计设想俺才疏学浅也就能想到这了,...为了预加载数据会在滑动到最后一帧时候去请求数据,但是由于请求是异步如果在动到最后一个视频时候在快速下滑会触发滑动到底部事件,这时候其实新数据请求回来之后便又不是底部了,这时候则需要你去做个判断...,如果正在请求动到底部不去处理你逻辑 为了性能考虑,只渲染了active 、prev、next内容,其他一律渲染空节点,并且为了防止页面中出现多个vidoe标签,prev 和next 只渲染默认图内容...通过插槽方式传入silide内部,这样做原因是,为了用户能自定义传入内容,这也是很多插件库惯用伎俩,增加了组件灵活性,又增加了组件独立性 视频自动播放问题 在web浏览器你经常会看到DOMException

1.3K10

我用ChatGPT做开发之小轻世界聊天系统

聊天界面对方内容是显示在左边,自己消息在右边,并且有显示发送时间,消息条也有颜色区分。 唯一缺陷是在定位消息时会先自动滚动到首条消息,再滑动到最新一条。...如果在这一秒内滑动了滑块,滑块不会滑动到底部,这是便于用户翻阅历史消息。 ? 另外,这个页面的登录后账号无法退出登陆(注销),所以我加入了logout.php注销页面。...包括管理页面的操作按钮都是告诉GPT后让它帮我加,另外我还加了搜索框,以便快速检索内容。接着在右上角加了跳转到首页按钮,如果登录了就会跳转到聊天界面。 ? 在使用管理界面时,一定要做好加密工作。...4.在管理页面加了一个首页,用于查看统计信息。 ? ? 三、疑难杂症 在设计这个系统时候,会有无数问题,并不会像以上设计流程那么轻松以下我列举一些比较棘手问题。...3.登录注册页面的提示不应直接使用脚本弹窗,而是使用块级元素进行展示,这样显示更加好看; 4.消息自动滑动到底部这个功能是通过多次提问去优化; ? ?

64541

打造聊天框丝滑滚动体验:AI 聊天框翻转之道

逐字渲染挑战最近在开发AI聊天助手时候,遇到了一个很有趣滚动问题。我们需要开发一个类似微信聊天框交互体验:每当聊天框展示新消息时,需要将聊天框滚动到底部,展示最新消息。...如果在 web 什么也不做,聊天体验可能是这样,需要用户手动滚动到最新消息:试想一下如何在 web 实现微信效果。每当聊天框接收到新消息时,都需要调用滚动方法滚动到消息底部。...如果仍使用 scrollIntoView 来滚动到底部,就需要监听消息体变化,每次消息更新时都要通过 JavaScript 调用一次滚动方法,会造成一些问题:频繁 JavaScript 滚动调用。...于是联想到了 Excel 表格,当我们在表格第一行插入一行,这一行后边内容会被很自然挤下去。并不需要做什么滚动,这一行就会出现在最顶部位置。...滚动条调整与滚动行为反转最核心问题已经解决了,但总觉得哪里看起来怪怪。滚动条怎么跑到左边,并且滚动行为和鼠标滚轮方向反了,滚轮向上,聊天框却向下

1.2K21

fullPage.js全屏滚动插件

左右滑块箭头背景颜色 loopBottom (true/false)滚动到底部后是否滚回顶部 loopTop (true/false)滚动到最顶部后是否底部 loopHorizontal (true...true/false)内容超过满屏后是否显示滚动条 css3 (true/false) 是否使用 CSS3 transforms 滚动 paddingTop string() 与顶部距离...6.回调函数 -- -- afterLoad () 滚动到某一屏后回调函数,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接名称,index 为序号...,从1开始计算 onLeave() 滚动前回调函数,接收 index、nextIndex 和 direction 3个参数:index 是离开“页面”序号,从1开始计算;nextIndex 是滚动到...afterRender 页面结构生成后回调函数,或者说页面初始化完成后回调函数 afterSlideLoad 滚动到某一水平滑块后回调函数,与 afterLoad 类似,接收 anchorLink

14.9K20

蒙层禁止页面滚动方案

当弹出蒙层时禁止蒙层下页面滚动,也可以称为滚动穿透问题,文中介绍了一些常用解决方案。...如果在蒙层内部进行滚动,当蒙层内滚动条滚动到底部时候再继续滚动的话,蒙层下页面也是能够滚动,这样交互就比较混乱,文中内容测试环境是Chrome 96.0.4664.110。 添加overflow: hidden;样式才有效果,此外由于实际上是将页面的内容给裁剪了...,反之就不做控制,之后又出现了问题,需要判断滚动到顶部和滚动到底部时候禁止滚动,否则触碰到上下两端,弹窗可滚动区域滚动条到了顶部或者底部,依旧穿透到body,使得body跟随弹窗滚动,这样的话逻辑复杂程度就比较高了...在示例为了演示弹窗时不会导致视图重置到最顶端,将弹窗按钮移动到了下方。 <!

6.1K21

JS事件篇

时,表明垂直滚动条滚动到底了 阅读知情同意书小案例 onmousemove事件和事件对象 获取鼠标的坐标 页面滚动条归属者 解决浏览器兼容性常使用以下写法 div跟随鼠标移动 事件冒泡和事件对象event...---- 节点属性 通过nodevalue可以设置文本节点内容 ---- 在事件响应函数,响应函数是给谁绑定,this就指向谁 ---- 获取body标签====》document.body...将子元素溢出部分隐藏起来 overflow: auto;如果内容被修剪,浏览器会显示滚动条,以便查看其余内容。...-- 默认禁用,除非将滚动条滑动到底部 --> 我同意上面的协议 //首先绑定一个滚动条滚动事件...var p1=document.getElementById("p1"); p1.onscroll=function() { //如果滚动条滑动到了最底部

12.6K10

2019-08-09 满屏切换vue项目中使用 vue-fullpage.js

jquery.easings插件 // easing:, // //是否使用css3 transform来实现滚动效果 // css3: false, // //滚动到最顶部后是否连续滚动到底部...// loopTop: true, // //滚动到底部后是否连续滚动到顶部 // loopBottom: true, // //横向slide幻灯片是否循环滚动...: false, // //在移动设置页面敏感性,最大为100,越大越难滑动 // touchSensitivity: 5, // //设为false,通过锚链接定位到某个页面不再有动画效果...// loopTop: true, // //滚动到底部后是否连续滚动到顶部 // loopBottom: true, // //横向slide幻灯片是否循环滚动...: false, // //在移动设置页面敏感性,最大为100,越大越难滑动 // touchSensitivity: 5, // //设为false,通过锚链接定位到某个页面不再有动画效果

11.8K30

控制页面的滚动:自定义下拉到刷新和溢出效果

(橡皮筋效果),使用overscroll-behavior-y: none: 完整Demo 总结 CSS overscroll-behavior属性允许开发人员在达到内容顶部/底部时覆盖浏览器默认溢出滚动行为...使用该案例包括禁用移动设备上“拉动到刷新”功能,消除过度滚动发光和橡皮筋效果,并防止页面内容在模态/叠加层下滚动 背景 滚动边界和滚动链接 滚动是与页面交互最基本方式之一,但是由于浏览器诡异默认行为...作为一个例子,带一个应用程序抽屉带有大量用户可能需要滚动项目。当它们到达底部时,溢出容器将停止滚动,因为没有更多内容可供使用。换句话说,用户到达“滚动边界”。...抽屉后面的内容开始滚动!滚动由父容器占领;例子主页面本身 被证实这种行为称为滚动链接;滚动内容时浏览器默认行为。通常情况下,默认设置非常好,但有时候这并不理想,甚至不可预料。...最终结果是当用户到达聊天记录顶部/底部时,主页面保持放置状态。在聊天框开始滚动不会传播出去 ?

3.3K20

【H5】209-可能这些是你想要H5软键盘兼容方案

当输入框位于页面下部位置时,在 IOS 上,会将 webview 整体往上一段距离,使得该获取焦点输入框自动处于可视区,而在 Android 则不会这样,它只会改变页面高度,而不会去滚动到当前焦点元素到可视区...兼容 IOS12 + V6.7.4+ 如果你在用 IOS12 和 V6.7.4+版本微信浏览器打开上面表单输入 demo ,就会惊奇发现键盘收起后,原本被滚动顶起页面并没有回到底部位置,导致原来键盘弹起位置...,接下来就先看下聊天输入框基本HTML结构 一些聊天内容1 </div...了解软键盘弹起页面在 IOS 和 Android 上表现差异是前提,其次是将焦点元素滚动到可视区,同时要考虑到第三方输入法和某些浏览器上差别。

3.9K12

学前端到了CSS阶段,你一定要掌握这9大防御式开发技能

我们在CSS布局时,是按照设计师效果来开发,但是实际网页内容是动态,网页上内容是可以改变,如:文字数量,图片尺寸、窗口大小等,再加上用户一些意想不到行为和运行环境,从而造成CSS布局效果并没有按照我们预期效果显示...我们可以通过 max-width属性来避免这种“以防万一”问题。... 7、场景七:锁定滚动链我们会发现当子元素滚动到顶部或底部继续滚动滚轮时,会导致父元素滚动,但这种行为有时会影响页面体验。...: 200px; margin: 0px auto; overflow-y: auto; background-color: skyblue; /*当滚动到滚动条底部和顶部时...也就是说万一内容不能占满一行,使用auto-fill就会出现空白问题。

1.8K00

摸鱼新发现,滚动条无限滚动

在一次调试过程,我按下了F12刚好是掘金页面,然后把代码输入到控制台之后,顺手滚动了几下右侧滚动条,发现个问题如下图所示: ? ‍‍‍‍‍‍‍‍‍‍...掘金官网滚动条当你拖动到底部时候会自动回弹到一定位置。顺着这个问题,我想着使用 vue-cli3.0 和 TS 实现以下这个功能。...,如果在项目中不使用可以直接忽略。...使用count模拟初始数据,滚动到底部时候触发 load 方法通过 push 方法模拟滚动请求回来数据。...首先需要获取滚动条位置,即可视区高度和内容区域底部距离可视区页面顶部距离,如果他们相等此时浏览器滚动条当好滚动到页面底部,如果相差是负数说明浏览器滚动条还没有到达页面底部。 ?

1.9K40

【移动端bug】iOS 下 Input 和 fixed 问题

把工作做过一些小东西或者功能总结记录,分享学习 最近在项目中碰到了移动端 IOS 下一些问题,就打算完整总结一下,以便后续碰到相关问题就不用浪费时间了 你们做移动端页面开发,绝逼也会碰到这个问题...2探索一下原因 正如我上面说,只有在定位元素输入框被激活时,页面仍有很多内容,仍能往上时候,才出现光标错位问题 那么 首先,观察一哈这个光标错位时位置 好像是键盘没有唤起时,定位元素输入框位置啊...然后我们还需要明确一个事情,就是 当激活定位元素输入框时,页面没有内容了,无法往上时候 那么是不会出现光标错位问题,像下面这样 ?...4为什么会这样 你仔细观察,在输入框被激活,唤起键盘时,页面的内容会被往上顶,从而往上滚动一些 ?...所以当我们滚动到底部 再激活输入框时候,按照惯例,它仍然会把页面往上顶 但是已经没有内容给你顶了啊,那怎么办,直接整个文档都给你顶上去了 ?

4K60

点击按钮,回到页面顶部5种写法

:fixed;right:0;bottom:0">回到顶部 4 2.scrollTop:scrollTop属性表示被隐藏在内容区域上方像素数。...元素未滚动时,scrollTop值为0,如果元素被垂直滚动了,scrollTop值大于0,且表示元素上方不可见内容像素宽度 由于scrollTop是可写,可以利用scrollTop来实现回到顶部功能...如果为true,表示元素顶部与当前区域可见部分顶部对齐(前提是当前区域可滚动);如果为false,表示元素底部与当前区域可见部分尾部对齐(前提是当前区域可滚动)。...如果没有提供该参数,默认为true,使用该方法原理与使用锚点原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,达到预期效果...y参数设置为-50,直到scrollTop为0,停止 var timer = null; box.onclick = function(){ cancelAnimationFrame

2.4K30

Scroll,你玩明白了嘛?

像上面这个例子,我们首先通过 # 去锚定对应内容,实现了一个 tab 切换效果:  A  B  <a href="...根据上面提到<em>的</em>我们可以用很多种方式去实现,假设我们已经为列表容器增<em>加了</em> scroll-behavior: smooth <em>的</em>样式,然后在 useEffect hook 中去调用滚动方法: import React...1、页面有 iframe <em>的</em>情况下,比如说这个例子。 表现是当 iframe 内<em>的</em><em>内容</em>发生滚动时,主页面也发生了滚动。...使用 {block: "nearest"}: 如果您当前位于其祖先下方,元素在其祖先顶部对齐。 如果您当前位于其祖先之上,元素在其祖先底部对齐。 如果它已经在视图中,保持原样。...4、如何区分人为滚动和脚本滚动 4.1 背景 最近遇到这么一个需求,做一个实时高亮当前播放内容字幕文稿。

3.1K21

06-移动端开发教程-fullpage框架

我们经常见到一些全屏特绚丽页面,手指或者鼠标滑动一下就是一整屏切换,而且还有各种效果。比如:全屏滑动案例 下面我们就介绍一下jQueryfullPage.js的如何使用及常用配置。...文件,jQuery,如果设置了optionscss3: false*,如果你用除了jQuery默认linear 和swing缓动效果之外缓动效果的话,需要添加 jQuery UI library...布尔值 false 滚动到底部后是否滚回顶部 loopTop 布尔值 false 滚动到最顶部后是否底部 loopHorizontal 布尔值 true 左右滑块是否循环滑动 autoScrolling...布尔值 true 是否使用插件滚动方式,如果选择 false,则会出现浏览器自带滚动条 scrollOverflow 布尔值 false 内容超过满屏后是否显示滚动条 css3 布尔值 false...配合fullpageonLeave事件,可以实现在上一屏离开时候,给下一屏添加动画样式类,并把上一屏动画样式类去掉。动画样式类可以提前记录在一个数组或者是放到动画元素自定义属性

5.1K50

前端架构探索与实践

容器提供一些可插拔 hooks 能力。并且根据 component 配置来渲染不同组件到页面,首屏组件和按需加载组件。最后,支撑到每一个对应页面里面。 分工组织 ?...❝此处 keyName 是 type/dao.d.ts 下声明值。会进行强校验。填错分发不到对应组件 ❞ ? image.png component ?...将所有弹层看做为一个模块,只是内容不同而已。而内容,即为我们之前说组件目录结构 components 内容 定义模块 Models 定义模块类型 编写模块属于类型 ? 挂载到 dao ?...因为我们目前页面都是 h5 页面了,之前则是 weex 。所以对于容器底层,之前使用 RecycleView :固定 div 高度,基于 overflow 来实现滚动。...help 这里在介绍下命令: 基本使用 pmc init 在空目录调用,分两步工作: 首先调用 tnpm init rax 初始化出来 rax 官方脚手架目录 修改 package.json name

96820
领券