JS 仿淘宝固定右侧侧边栏(可返回顶部)案例,分分钟搞定

}

.main {

height: 1000px;

background-color: yellowgreen;

}

span {

display: none;

position: absolute;

bottom: 0;

}

返回顶部

头部区域
主体部分

到这里我们就完成了固定侧边栏的部分,完成效果:

请添加图片描述

但是我们还想在单击返回顶部时可以丝滑的滑到顶部,应该怎么做呢?

返回顶部

===================================================================

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

window.scroll(x,y) //里面的x,y不加单位

所以我们在单击返回顶部时来个window.scroll(0,0)就行了,但是我们想慢慢滚动带有动画的返回顶部,应该怎么做呢?

我们之前封装过一个缓动动画函数,只不过是左右移动的,所以只要稍加修改就能用了

加上缓动动画的效果:

请添加图片描述

示例代码:

goBack.addEventListener(‘click’, function() {

// 里面的x和y 不跟单位的 直接写数字即可

// window.scroll(0, 0);

// 因为是窗口滚动 所以对象是window

animate(window, 0);

});

// 动画函数

function animate(obj, target, callback) {

// console.log(callback); callback = function() {} 调用的时候 callback()

// 先清除以前的定时器,只保留当前的一个定时器执行

clearInterval(obj.timer);

obj.timer = setInterval(function() {

// 步长值写到定时器的里面

// 把我们步长值改为整数 不要出现小数的问题

// var step = Math.ceil((target - obj.offsetLeft) / 10);

var step = (target - window.pageYOffset) / 10;

step = step > 0 ? Math.ceil(step) : Math.floor(step);

if (window.pageYOffset == target) {

// 停止动画 本质是停止定时器

clearInterval(obj.timer);

// 回调函数写到定时器结束里面

// if (callback) {

// // 调用函数

// callback();

// }

callback && callback();

}

// 把每次加1 这个步长值改为一个慢慢变小的值 步长公式:(目标值 - 现在的位置) / 10

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

更多面试题

**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等

资料获取方式:点击蓝色传送门免费获取

mgtp.com/2024/03/13/H4lCoPEF.jpg" />

更多面试题

**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等

资料获取方式:点击蓝色传送门免费获取

[外链图片转存中…(img-PyQKXNzB-1712163508661)]

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值