前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >JavaScript笔记(24)

JavaScript笔记(24)

作者头像
y191024
发布2022-09-20 20:20:17
发布2022-09-20 20:20:17
2110
举报

今天下午又把轮播图自己做了一遍,比我想象中其实简单很多,只是昨天听老师讲的时候觉得特别难,很多方法也是第一次接触.自己动起手来其实还可以,虽然也踩了些坑,但还是自己解决了,列出提纲真的很重要!

现在开始今天的学习

节流阀

回顾我们上一节做的轮播图,如果我们连续点击轮播图的箭头,就会导致播放过快.

节流阀目的: 当上一个函数动画内容执行完毕,再去执行下一个函数动画,让事件无法连续触发

核心实现思路: 利用回调函数,添加一个变量来控制,锁住函数和解锁函数

if (flag) {flag = false; do something} 关闭水龙头

利用回调函数 动画执行完毕, flag = true

做了一下:

无论点多快,都只能等待播放完才能轮到下一张

还记得我们之前写的animate函数,里面有个地方可以改进

两个框的含义是完全相同的.

这是因为短路运算 ''逻辑与'' 如果都为true,才会返回true

让我们回顾一下以前的知识: 短路运算

表达式1 || 表达式2,只要任意表达式为true,则整个表达式的运算结果为true。 表达式1 && 表达式2,只有所有表达式都为true,则整个表达式的运算结果才为true。

现在轮播图就是正式结束啦,不过老师说这应该是最后一次写了哈哈哈,因为以后都会用框架嘻嘻,不过原理还是要懂的.

本文由“壹伴编辑器”提供技术支持

现在做淘宝的案例:返回顶部

滚动窗口至文档的特定位置

window.scroll(x,y)

这是之前写的淘宝侧边栏的页面:

注意:里面的x和y是不用加单位的!

但是这种返回顶部过于生硬,没有动画效果,我们怎么让他像动画一样的滚动呢?

还是要用到我们之前封装的函数,但是需要稍加修改.

看看现在的效果:

优雅!!!

下面又是一个案例:

不过实在是有点丑哈....

挺好玩的这个,现在学习一下

做完了,虽然很简单,但是也是需要绕点弯...现在分析一下

现在做的是的当鼠标经过时和移开时云朵的动画,这一步很简单吧,记得要写在循环里.

现在我们要做最后一个效果,就是当鼠标点击过后,云朵要停在点击的li上.

如果我们添加一个点击事件:

虽然我们点击了,但是当鼠标移开的时候还是会回到原点,因为我们鼠标离开事件会让云朵回到0的位置.所以这个写法是错的

我们不妨自己定义一个变量.在一开始为0,在点击以后,就把距离储存下来,将点击的li的位置作为原点,鼠标离开时也会回到点击的li上.

当我们点击了某个li时,将他距离左侧的位置储存在current中:

最后再将鼠标离开事件的还原的位置改成current,这样鼠标点击后current就会变化,还原的位置也会变成点击后的位置.

看看效果如何吧(不得不说真的挺丑的):

结束啦,又要学习新的东西了

后面又是新的部分,就开新的一篇写吧

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 睡不着所以学编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档