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

滚动,你真的懂了吗

(具体为什么ios上android上会使用不同的滚动方式,可以去了解下=。=) 滚动布局什么时候会使用了?...$("#div").scrollTop(); ---- 现在我们知道如何调用滚动条到指定的位置获取滚动条偏移值,那么我们来做一个需求把 假设是这个页面 ?...需求描述 : 希望通过点击按钮,使绿色区域的item,能够定位到屏幕中间 这种需求很常见吧~ 那么我们先分析下页面, 可以从页面中看出,这个是一个滚动布局单页页面。...“ 那么问题升级了,我们来考虑这个问题,如下图分析图 ?...为了使目标节点,移动到滚动区域的中间线 我们最终需要知道当前目标节点距离中间线的偏移值,然后加上当前滚动区域的滚动条偏移值,便是我们需要滚动条滚动到的偏移值大小了。

1K10

滚动,你真的懂了吗

(具体为什么ios上android上会使用不同的滚动方式,可以去了解下=。=) 滚动布局什么时候会使用了?...$("#div").scrollTop(); 现在我们知道如何调用滚动条到指定的位置获取滚动条偏移值,那么我们来做一个需求把 假设是这个页面 ?...需求描述 : 希望通过点击按钮,使绿色区域的item,能够定位到屏幕中间 这种需求很常见吧~ 那么我们先分析下页面, 可以从页面中看出,这个是一个滚动布局单页页面。...“ 那么问题升级了,我们来考虑这个问题,如下图分析图 ?...为了使目标节点,移动到滚动区域的中间线 我们最终需要知道当前目标节点距离中间线的偏移值,然后加上当前滚动区域的滚动条偏移值,便是我们需要滚动条滚动到的偏移值大小了。

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

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

使用该案例包括禁用移动设备上的“拉动到刷新”功能,消除过度滚动发光和橡皮筋效果,并防止页面内容在模态/叠加层滚动 背景 滚动边界滚动链接 滚动是与页面交互的最基本的方式之一,但是由于浏览器的诡异默认行为...注意:overscroll-behavior还支持overscroll-behavior-xoverscroll-behavior-y的简写,如果您只想定义特定轴的行为 让我们深入一些例子来看看如何使用...(聊天窗口的内容也会滚动) 页面重叠场景 下面”方案的另一个变动就是是当你看到内容在固定位置叠加后滚动时。一个死的样品overscroll行为是为了!浏览器试图帮助,但它最终使网站看起来越来越多。...示例 - 带不带过度滚动行为的模态:包含 ? ? (左边之前:页面内容在叠加层滚动,右边之后:页面内容不会在叠加层滚动) 禁用拉到刷新 关闭pull-to-refresh操作是一行CSS。...为了防止导航,你可以使用overscroll-behavior-x:none 完整Demo 把它放在一起,完整的聊天框演示,使用overscroll-behavior行为来创建一个自定义的拉动到刷新动画

3.2K20

高级 Vue 技巧:控制父类的 slot

我们来看一个具有一个子组件一个插槽的组件: // Parent.vue </template...另一种方式就是定义一套组件,将组件的 vnode 转移到另外一个组件中去,然后各自渲染。 它们的工作方式和你想象的完全一样。你可以把任何东西从一个地方传送到另一个地方。...在我们的例子中,我们将元素从DOM中的一个位置“传送”到另一个位置。 无论组件树如何显示,我们都可以控制组件在DOM中的显示位置。 例如,假设我们想要填充一个modal。... 然后,在我们的modal组件中,我们将拥有另一个将内容渲染出来的 portal: Modal...简化一 当我们第一次定义问题时: 我们可以让子组件填充父组件的插槽吗? 但实际上,这个问题与props没有任何关系。 更简单地说,它是关于使子组件控制在其自己的子树之外渲染的内容。

1.7K20

JS事件篇

onmousemove事件事件对象 获取鼠标的坐标 页面滚动条的归属者 解决浏览器兼容性常使用以下写法 div跟随鼠标移动 事件的冒泡事件对象event 事件的委派 事件的绑定----为另一个元素绑定多个事件...,松开事件 鼠标滚轮事件----onmousewheel----火狐不支持,由DOMMouseScroll替代 判断滚轮上还是----火狐不支持,由detail替代 取消滚动条随滚轮移动的默认行为...VS firstElementChild获取当前元素第一个子元素 firstElementChild不支持IE8的浏览器 ---- 抽离出按钮点击函数的小案例 <!...addEventListener("DOMMouseScroll",function(){ alert("鼠标滚轮"); },false) ---- 判断滚轮上还是----火狐不支持,由...("d1"); //为div绑定一个鼠标滚轮事件 addEventListener("DOMMouseScroll",function(event){ //判断滚轮向上

12.6K10

js拖拽自动排列

很常见的一个效果,先说一思路: 每一个元素都是绝对定位,初始化的时候是通过js去排列。 拖拽使用的方法跟上一篇文章一模一样。...定义了一个数组,每个元素的字段: {el: elArr[i], sort: i, index: i} el是这个元素,用于排列,也就是改变topleft,sort是元素排列的位置,index是当前元素的...拖拽的时候,当鼠标点击选中当前的元素的时候,这个元素移动,当移动到另一个元素一半的时候,相当于要替换这个元素,我是以这样一个方法判断移动到一个位置: let moveIndex = Math.round...(x / 125) + Math.round(y / 125) * 5; 我元素的宽度距离的宽度是125,所以移动距离超过一半就四舍五入算加1,列方向也是一样,超过1那么元素就是要加一行的个数。...我定义了一个当前的index,如果移动到的index不等于初始化的index,那么就是要发生移动,当从大移动到小,在这个范围的,所有排序都要加1,其他不变,如果从小移动到大,这个范围排序都要减1,其他不变

5.7K20

fullPage.js全屏滚动插件

如果你要制作一个全屏的网页,使用这个插件在合适不过,如QQ浏览器官方网站 直接下载 使用方法 1.引入fullpage.css文件 2.引入jq fullpage.js文件 <script src="https://cdn.jsdelivr.net/npm...loopTop (true/false)滚<em>动到</em>最顶部后是否<em>滚</em>底部 loopHorizontal (true/false)左右滑块是否循环滑动 autoScrolling (true/false)...,接收 anchorLink <em>和</em> index 两个参数,anchorLink 是锚链接的名称,index 为序号,从1开始计算 onLeave() 滚动前的回调函数,接收 index、nextIndex...<em>和</em> direction 3个参数:index 是离开的“页面”的序号,从1开始计算;nextIndex 是滚<em>动到</em>的“页面”的序号,从1开始计算;direction 判断往上滚动还是往下滚动,值是 up

14.8K20

H5C3第四节

【演示:01-伸缩布局初体验.html】 当给一个盒子设置了display:flex之后,这个盒子就有了主轴 侧轴 的概念。...主轴:Flex容器的主轴主要用来配置Flex项目,默认是水平方向侧轴:与主轴垂直的轴称作侧轴,默认是垂直方向的方向:默认主轴从左向右 ,默认侧轴从上到 ?...space-around:第一行贴上边,最后一个行贴下边,其他行在弹性盒容器中平均分布。 stretch:拉伸,不设置高度的情况。...--每一个class为section的div都是一屏,section这个类是固定的--> 我是内容1 <div class="section...loopTop 滚动到顶部后是否连续滚动到底部,默认false loopBottom 滚动到底部后是否连续滚动到顶部,默认false continuousVertical 是否循环滚动,默认为false

5.3K30

目前最流行的 5 大 Vue 动画库,使用后太炫酷了

因此,它对于在这些范围创建动画最有用。然而,一个值得注意的例子是一个简单的音乐应用程序,其中一些其他元素对当前正在播放的音频做出反应。...vue-prix vue-prix 是另一个很棒的 vue 动画库,可以轻松地为图像添加视差滚动效果。在视差效果中,前景图像及其背景元素都在移动,但背景移动得慢得多,从而产生深度错觉。...vue-fake3D-image 这是另一个轻量级的 Vue 库,它允许我们在 Vue 应用程序中为图像添加模拟的交互式 3D 效果。...当一个元素滚动到视图中时,其对应的动画只会触发一次。...结尾 每个动画库都是不同的,并且有不同的方法使事情变得更容易。还有许多动画库可供选择。 有了这篇文章,希望您能够从各种可用的动画库中进行选择,并找到一个完美地补充您的 Vue.js 应用程序的动画库。

10.3K10

学用Hooks写React组件——基础版移动端无缝轮播图组件

因为最近在做移动端的东西,所以尝试写一个移动端的无缝轮播图,当前版本只支持手势切换点击切换功能。文章主要包括从简单雏形到最终效果所有的思路代码。...简单效果图 设计思路 问:无缝轮播需要解决的问题在于,切换到最后一个轮播图时,如何流畅的到达第一个? 答:核心思想是利用视觉上的感觉,在用户无感的情况切换回去,也就是快速回。...,循环补位,本质上思路不变,只是当在最后一个轮播图时,把第一个轮播图移动到它的后面,然后瞬间把第一个轮播图又移动到一个位置。...setActive(number); } ...修改的代码 const handlePrev = () => { // 根据之前的理论,当前位置如果是第一个的情况...总结 到这里,一个简易版的移动端手势滚动组件就完成了,里面还有很多的不足、功能缺陷优化点,例如容器宽度高度的判断,宽度直接取得手机宽度,高度我直接写死的;轮播子组件的懒加载等等,之后也会慢慢进行增强优化

3.7K20

【HTML5】逐步分析如何实现拖放功能

一、什么是拖放 拖放就是通过鼠标放在一个物体上,按住鼠标不放就可以把一个物体托动到另一个位置。其实我们平时一直都有接触,如图 ? 那么在网页上其实也可以实现同样效果的拖放功能,如图 ?...那么,就让我们来看看如何实现的吧 二、拖放事件 在IE4的时候,Js就可以实现拖放功能了,当时只支持拖放图像一些文本。...我们来用一个例子测试一这三个事件 <!...那么最后我们再来将一如何才能触发 drop事件,只需要阻止 dragenter事件 dragover事件 的默认行为即可。 <!... text/uri-list,前者表示普通字符串,后者表示URL字符串;第二个参数 就是用于存放的字符串 getData() 方法只接收一个参数,即需要接收的字符串类型 我们来简单使用一这两个方法

1.4K10

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

CSS3的新特性已经讲完了,接下来我们看一jQuery的一个全屏jQuery全屏滚动插件fullPage.js。...我们经常见到一些全屏的特绚丽页面,手指或者鼠标滑动一就是一整屏切换,而且还有各种效果。比如:全屏滑动案例 下面我们就介绍一jQuery的fullPage.js的如何使用及常用的配置。...1. fullpage.js的主要功能 fullPage.js是一个基于jquery的插件,它能很方便的制作出全屏网站,github地址。 主要功能有: 支持鼠标滚动。 支持前后退键盘控制。...loopTop 布尔值 false 滚动到最顶部后是否底部 loopHorizontal 布尔值 true 左右滑块是否循环滑动 autoScrolling 布尔值 true 是否使用插件的滚动方式...动画样式类可以提前记录在一个数组中或者是放到动画元素的自定义属性中。

5K50

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

CSS3的新特性已经讲完了,接下来我们看一jQuery的一个全屏jQuery全屏滚动插件fullPage.js。...我们经常见到一些全屏的特绚丽页面,手指或者鼠标滑动一就是一整屏切换,而且还有各种效果。比如:全屏滑动案例 下面我们就介绍一jQuery的fullPage.js的如何使用及常用的配置。...1. fullpage.js的主要功能 fullPage.js是一个基于jquery的插件,它能很方便的制作出全屏网站,github地址。 主要功能有: 支持鼠标滚动。 支持前后退键盘控制。...loopTop 布尔值 false 滚动到最顶部后是否底部 loopHorizontal 布尔值 true 左右滑块是否循环滑动 autoScrolling 布尔值 true 是否使用插件的滚动方式...动画样式类可以提前记录在一个数组中或者是放到动画元素的自定义属性中。

5.1K90

React报错之React Hook useEffect has a missing depende

为了解决该错误,禁用某一行的eslint规则,或者将变量移动到useEffect钩子。 这里有个示例用来展示警告是如何发生的。...依赖移出 另一个可能的解决方案是将函数或变量的声明移出你的组件,这可能很少使用,但最好知道。...useMemo 另一个解决方案是使用useMemo钩子来得到一个记忆值。...useMemo钩子接收一个函数,该函数返回一个要被记忆的值一个依赖数组作为参数。该钩子只有在其中一个依赖项发生变化时才会重新计算记忆值。...钩子接收一个内联回调函数一个依赖数组,并返回一个记忆化版本的回调,该回调只在其中一个依赖发生变化时才会改变。

18210

5分钟!教你写出干净清爽的 React 代码

在这篇指南中,我总结了七种最重要的方法,你可以从今天开始编写更干净的React代码,让构建React项目检查代码变得更容易。...一般来说,学习如何编写更清晰的React代码将使你成为一个更有价值、更快乐的React开发人员,所以让我们开始吧! 1. 使用JSX简写 如何将true的值传递给给定的prop?... ) } 另一个需要记住的有用的速记方法是传递字符串 prop 。当你传递一个字符串的prop 值时,你不需要用花括号包装它。...就像我们将代码抽象到单独的组件中以使我们的应用程序更具可读性,使我们的应用程序文件更具可读性一样,我们可以将每个组件放到一个单独的文件中。 这再次帮助我们分离应用程序中的关注点。...项目的另一个基本模式是使用React Context(特别是当你有一些共同的属性,你想要在你的组件中重用,并且你发现自己正在编写许多重复的prop时)。

1.4K20

【汉诺塔】小游戏开发教程

游戏简介 汉诺塔是源于印度一个古老传说的益智游戏,传说大梵天创造世界的时候顺便搞了三根柱子,一根柱子上摞着一堆从大到小的圆环,他命令婆罗门把圆环全部移动到另一个柱子上,依旧是从大到小,且移动规则如下:...1.一次只能把一个圆环从一根柱子移动到另一根柱子上 2.圆环的上面不能放比它大的圆环 详细介绍及解法请参考文章:汉诺塔与递归。...具体的实现就是监听鼠标按事件、鼠标移动事件、鼠标松开事件,鼠标按下移动时改变该圆环的transform: translate(x,y)属性来进行移动,鼠标松开时判断当前圆环被拖动到的位置是否在三个圆环的某一个区域...绑定事件需要注意的是按事件绑定到圆环上,而移动松开事件要绑定到body上,否则当你移动过快时鼠标指针可能会圆环不同步而超出圆环,进而当你松开后就监听不到松开事件了。.../div> 首先柱子区域是一个矩形,如下所示: 然后圆环其实也是一个矩形,那么问题实际上就转换为求两个矩形是否相交,这个是很简单的,方便起见

1.8K10

HTML5 拖放API与Vue.js实战

通常看板要有列卡片。卡片是要执行的单个项目或任务,列用来显示特定卡片的状态。 所以需要创建三个 Vue 组件:一个用于列,一个用于卡片,最后一个用于创建新卡片。...当用户将鼠标移到可拖动元素上时,拖动操作开始,然后将元素移动到启用拖放的元素上。 再默认情况,唯一可拖动的 HTML 元素是图像链接。...可以将链接移动到浏览器的 URL 栏中,这样使浏览器跳转到该 URL。 所以,如果没有数据传输的能力,那么拖动元素就毫无用处了。...在这种情况,只有 “To-Do”,“In Progress” “Done” 三列,每列都有一个卡片数组。...总结 在本文中,我们介绍了什么是 HTML 5 拖放 API ,如何使用,以及如何在 Vue.js 中实现。 拖放功能也可以在其他前端框架原生 JavaScript 中使用。

4.3K10

Scroll,你玩明白了嘛?

3、JS 滚动方法 3.1 基本方法 我们熟知的原生 scroll 方法,大概有这些: scrollTo:滚动到目标位置 scrollBy:相对当前位置滚动 scrollIntoView:让元素滚动到视野...scrollIntoViewIfNeeded:让元素滚动到视野(如果不在视野) 以大家用得比较多的 scrollTo 为例,它有两种调用方式: // 第一种形式 const x = 0, y =...这个问题常常发生在哪些情况呢? 1、页面有 iframe 的情况,比如说这个例子。 表现是当 iframe 的内容发生滚动时,主页面也发生了滚动。...这显然 MDN 上的描述不一致: Element 接口的 scrollIntoView () 方法会滚动元素的父容器,使被调用 scrollIntoView () 的元素对用户可见。...4、如何区分人为滚动脚本滚动 4.1 背景 最近遇到这么一个需求,做一个实时高亮当前播放内容的字幕文稿。

3K21
领券