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

详细设计一个文章页目录插件

因为我们都习惯从上到下从左到右的去浏览文章,所以我希望首先映入眼帘的是文章内容而不是文章目录;另外因为我的博客的首页和文章列表页都是左侧是浏览区域而右侧是操作区域,所以把目录放到右侧能保持整站的布局统一以及操作的便利性...首先我们要判断当前滚动向上还是向下滚动,可以根据两次滚动前后的偏移量来判断: 向上滚动 = 滚动后偏移量 < 滚动前偏移量 let lastSH = window.pageYOffset // 获取最近一次页面的滚动方向...很多文章页很长,所以有回到顶部这种功能,试想一下,如果当前页面已经滚动到最底部,这个时候来一下回到顶部,那刚刚写的优化代码会遍历几次?答案是:遍历次数将会是目录子项的总数。...,就是体验不太好,突然从一个位置滚动到另外一个位置,显得突兀,能不能来点动画效果?...+ 当前滚动距离 直接来看完整的动画实现滚动的函数: // 滚动到目标位置 function scrollToDest(destScrollTop) { let startTime; let

2.4K20

Framer 滚动动画效果集合 (讲解)

对于y, 负数:表示向上位移; 正数:表示向下位移....第二个效果, 滚动时,图片进行3D方向的偏移 看效果: 具体步骤: 开启透视 点击图片,在右侧属性面板找到 Transforms 添加Preserve 点击yes即可开启透视 添加过渡动画即(Scroll...Transform), 在编辑页面,设置3d的X方向的值 第三个效果, 滚动时,重叠的多张图片向四个方向进行偏移 具体步骤: 设置每个图片为绝对定位,然后依次叠放在一起,并且左侧拉开一小段距离 给每个图片添加一个滚动过渡...然后下面的标题从大变小,图片从小到大, 并且在滚动到这个部分的底部的时候,滚动动画完成 图片的变化和 下面的文本,图片状态变化是同步的,也就是说触发的时机是一致的 实操: 粘性定位 首先设置图片所在的层的布局方式为粘性布局...在这里,您将看到四个位置属性,用于自定义其与顶部、底部、左侧右侧的距离。这些属性表示粘性元素相对于其父层的位置。

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

    Axure高保真教程:鼠标滚动上下翻页效果

    一、效果展示 鼠标向上滚动时,切换查看上一张图片; 鼠标向下滚动时,切换查看下一张图片; 循环效果,如果在最后一张图片继续向下滚动,就会循环至第一张图片;如果在第一张图片继续向上滚动,就会循环值最后一张图片...设置到下一页,这里需要增加向上滑动的动画动画时间可以自己设置,案例中是1秒。...2)向上滚动的交互 鼠标向上滚动是的思路和交互和上面向上滚动是的交互基本是一致的,唯一需要改的就是设置动态面板从下一项变成上一项,动画效果从向上滚动变成向下滚动。...这里我们要在动态面板内矩形上增加一个锚点,可以用透明的矩形去中,把锚点放在矩形中间的位置就是高10000点的位置,然后让滚动条默认滚动到中间锚点的位置,这样向上向下滚动都没有问题了。...3)动态面板载入时 前面讲到我们设置了中部锚点,要让滚动条默认滚动到中间锚点的位置。所以在载入时,我们要用滚动到锚点的交互,让滚动滚动到中部的位置。

    11810

    js实现单张或多张图片持续无缝滚动

    背景: 想要实现图片持续滚动,既然使用js,就千万不要加css动画、过渡等相关样式,如果想要滚动的平滑一下,可以一像素一像素的感动,则很平滑,如果加了过渡动画,当图片重置为0时,会有往回倒的动画效果,跟预期不符...原理: 图片滚动原理同图片轮播原理,同样也适用于文字滚动等一系列滚动,通过复制最后一张图片或最后一堆文字插入第一行,或复制第一张图片或一堆文字插入在结尾,来实现无缝拼接,前提:1、必须是没有设置过渡动画的...,2、重置为0的时候与当前已经滚动到的高度对于图片的位置而言肉眼看上去没变化。...this.elem.innerHTML = this.elem.innerHTML + this.elemHtml+ this.elemHtml; this.speed; // 如果向上或者向左滚动每次减...1,向下或者向右滚动每次加1 if(this.direction === 'top' || this.direction === 'left'){ this.speed

    7.6K10

    一个创建产品动画说明视频的新手指南

    (时间轴快速指南) 由于这是针对动画初学者和对After Effects知之甚少的人,下面是您应该在时间轴上看到的内容: 左侧的眼睛图标显示/隐藏每个图层 右侧的三角形,这是你如何访问所有的图层属性,并最终使它们动起来...每个层的时间轴,其中关键帧(动画中的转换的开始或结束点)将被标记在右侧 在这些下方,您将看到一个缩放栏(小山和一个大山)。尽可能缩小。 ?...使播放头(较大的蓝色,向下的箭头,您可以像在视频上一样从第二个标记拖动到左侧)为零,单击不透明度左侧的秒表,然后通过键入将值设置为0%它或单击并拖动标记直到其达到零。 ?...选择所有图层并在时间轴上完全缩小,将鼠标悬停在彩色条的右侧。你应该得到一个调整大小的句柄。点击并拖动到时间轴的右侧。每层现在应该持续30秒。...(30秒的动画,每秒25帧,减29秒,二十帧)。 如果一切顺利,请在数字键盘上按0(或将播放头拖回到时间轴的开始位置,然后按空格键),查看自己的视频。

    3K10

    微信小程序实践:2.3 可滚动的容器组件之 scroll-view

    10,在一些购物类或订餐类小程序中,左侧有物品分类,左侧是物品列表,单击分类,右侧自动滚动到相关位置,右侧列表上下滚动左侧分类菜单自动切换,获得高亮焦点,这样的功能是怎么实现的?...默认情况下scroll-top是0,当实体向上滚动时,其值慢慢增加。 ? 同理,scroll-left类似。当开启的是横向滚动时,scroll-left是距离左边界、子实体向左滚动的距离。...我们一般说「滚动到顶部、滚动到底部」,指的还不是内部滚动实体滚动到了它所能达到的最大值、最小值,而是指滚动实体顶部边缘到达了滚动外框的顶部,及底滚动实体底部边缘到达了滚动外框的底部。...它是一个布尔属性,添加它以后,当上面内容扩充时,微信会自动向上滚动一段扩充的距离。这就是「滚动锚定」策略。不是没有滚动,而是滚动冲抵了,scroll-top已经不一样了。...这里主要需要实现两个功能: 单击左侧菜单,右侧滚动到相应位置 在右侧滚动左侧菜单自动同步高亮 第一个功能点,可以通过scroll-into-view属性实现,将左侧菜单与右侧每块区域的id对应起来,单击时更新

    15.1K30

    Framer 使用滚动变体创建动画

    您可以使用“滚动变体”使导航栏在用户向下滚动页面时更改其外观,例如更改其背景颜色或调整元素的位置。或者在向下滚动页面时突出显示活动部分的侧边栏。...给组件加入滚动变体动画 下面就来给组件加入滚动变体动画....Demo2: 实现一个滚动到不同部分,更改左侧的icon图标 效果: 在上个效果的基础上,我添加了 渐变背景 填充了文本,并使用绝对定位固定到页面上. 给每个页面添加了 粘性布局, 达到视差的效果....观察上方的Gif图片,我们就会发现,滚动到不同部分.右边的ICON 图标 在进行相应的变化....第三步: 添加滚动变体效果,滚动到不同部分,选择不同的组件即可. 这里我就不把属性图进行贴出了, 和上面第一个创建方法一致. 大家可以自己试一下.

    8110

    QQ空间缓存图片_QQ空间原图

    今天偶然打开PC端QQ空间时,我发现了一种似乎更好的方式 —— 鼠标移入时在范围内上下滚动图片预览,移出时停止滚动。...offsetParent (获取父元素)); dom.getBoundingClientRect() :它有四个常用值:left、top、right、bottom,分别是相对于当前视口(即此tab网页窗口左侧...class="after"> 这里class为before和after的两个标签就是前面所说的“占位”元素(至于QQ是怎么实现的,等笔者稍作研究后再回来更新),它们负责判断“图片是应该向上滑还是向下滑...但是如果你仔细看,你会发现由于transition动画效果的时间是固定的,在向上/下滑动过短的情况下再向下/上滑动那么滑动的会特别慢! !...再回到PC端QQ空间 —— 我们发现,它的transition时间竟然是动态变化的: 这…我猜测可能是设定了一个从上到下固定的时间,然后在JS中按照滑出部分高度(已经滑动的距离)占总高度的比例动态调节时间

    6.3K20

    android 有阻尼下拉刷新列表的实现方法

    根据以上分析,我们可以知道,重画子View的原理就是: 当PullToRefreshListView已经滚动到顶部的时候,通过监控滑动手势来计算distanceY,从而确定要将canvas向上移动多少再重画子...ev.setAction(MotionEvent.ACTION_MOVE); } } else { // 在下拉过程中往上拉动listView使listView往下滚动到其没有滚动到顶部...如何判断ListView是否已经滚动到顶部 下一步,我们如何判断ListView是否处于“滚动到顶部”状态呢?这一问题我PullToRefreshListView的onScroll中解决。...下拉后的回滚动画 最后,当下拉结束松开手指时,我们需要为PullToRefreshListView执行一个回动画,我们在onTouchEvent方法中看到: // .........(2) 回滚动画应该也可以进行优化,具体怎么优化我也不清楚。。。

    3.5K10

    HarmonyOS-UIAbitity-枚举说明——【坚果派-红目香薰】

    Back 鼠标左侧后退键。 Forward 鼠标左侧前进键。 None 无按键。 MouseAction 名称 描述 Press 鼠标按键按下。 Release 鼠标按键松开。...Both 动画将遵循Forwards和Backwards的规则,从而在两个方向上扩展动画属性。 PlayMode 名称 描述 Normal 动画按正常播放。 Reverse 动画反向播放。...Edge 名称 描述 Top 竖直方向上边缘 Center 竖直方向居中位置 Bottom 竖直方向下边缘 Baseline 交叉轴方向文本基线位置 Start 水平方向起始位置 Middle 水平方向居中位置...Top 从下向上。 Right 从左向右。 Bottom 从上向下。 LeftTop 左上。 LeftBottom 左下。 RightTop 右上。 RightBottom 右下。 None 无。...Placement8+ 名称 描述 Left 气泡提示位于组件左侧,与组件左侧中心对齐。 Right 气泡提示位于组件右侧,与组件右侧中心对齐。 Top 气泡提示位于组件上侧,与组件上侧中心对齐。

    14810

    Cypress web自动化30-操作窗口滚动条(scrollTo)

    x(数字,字符串) 距离窗口/元素左侧的距离(以像素为单位)或滚动到的窗口/元素宽度的百分比。 y(数字,字符串) 与窗口/元素顶部之间的距离(以像素为单位)或滚动到的窗口/元素高度的百分比。...) easing |swing | 将随着缓动动画滚动 timeout |defaultCommandTimeout | 命令行默认超时时间 4000毫秒 position 窗口滚动到的指定位置...position 参数将窗口或元素滚动到的指定位置。...('top')}) }) x 横向左右滚动 x 参数控制横向左右滚动,x参数可以是数字,也可以是字符串,也可以是百分比 // x 横向,距离左侧100像素,可以是数字100 cy.scrollTo...('200px') // 按百分比,滚动50%,也就是正中间 cy.wait(3000) cy.scrollTo('50%') y 纵向上滚动 y 参数控制纵向上滚动,y参数可以是数字,也可以是字符串

    1.5K20

    初学前端用代码实现一个网页老虎机游戏

    所以我们在列表移动之前要做一件事情,我们要把这个列表的初始化布局给调整一下,将全部列表都向上移动,使数字“1”移动到格子中去。...的内置属性scrollHeight获得列表的高度; 因为整个列表向上动到最后数字1会留在格子中,列表中全部有6个数字,我们只需要向上移动5个数字的高度即可。...如果只是滚动到最后一个数字那还是比较容易的,那我们只需要将向上移动的距离还原为0就可以了,这样子就能达到向下移动的效果。...随机的滚动结果是怎么实现的? 随机的滚动结果解释起来可能会比较难以理解一点。我们再回顾一下,在上面我们实现向下滚动的原理是将向上移动的距离还原为0('translateY(0))来实现的。...,由于游戏开始过程中数字列表添加了过渡动画,会导致数字列表在回到初始位置的过程也会存在过渡动画,因此我们需要调用之前先声明好的removeTranstion()来删除全部数字列表的过渡效果。

    5.3K10

    「JavaScript 」动画基础 - 02

    1.1.2 动画函数多个目标值之间移动 可以让动画函数从 800 移动到 500。...点击右侧按钮一次,图片往左播放一张,以此类推,左侧按钮同理。 图片播放的同时,下面小圆圈模块跟随一起变化。 点击小圆圈,可以播放相应图片。 鼠标不经过轮播图,轮播图也会自动播放图片。...点击右侧按钮, 图片滚动一张 var num = 0; // circle 控制小圆圈的播放 var circle = 0; // flag 节流阀 var flag...案例:返回顶部 带有动画的返回顶部 此时可以继续使用我们封装的动画函数 只需要把所有的left 相关的值改为 跟 页面垂直滚动距离相关就可以了 页面滚动了多少,可以通过 window.pageYOffset...当我们页面滚动到main盒子,就显示 goback模块 if (window.pageYOffset >= mainTop) { goBack.style.display = '

    36420

    常见网页特效案例

    2.点击右侧按钮一次,图片往左播放一张,以此类推,左侧按钮同理。 3.图片播放的同时,下面小圆圈模块跟随一起变化。 4.点击小圆圈,可以播放相应图片。...点击右侧按钮, 图片滚动一张 var num = 0; // circle 控制小圆圈的播放 var circle = 0; // flag 节流阀 var flag...案例:返回顶部 带有动画的返回顶部 此时可以继续使用我们封装的动画函数 只需要把所有的left 相关的值改为 跟 页面垂直滚动距离相关就可以了 页面滚动了多少,可以通过 window.pageYOffset...当我们页面滚动到main盒子,就显示 goback模块 if (window.pageYOffset >= mainTop) {...animate(cloud, this.offsetLeft); }); // (2) 鼠标离开就回到起始的位置

    2.3K40
    领券