jquery 使用动画animate抖动问题

这是我自己目前所知的两种情况

  1. 是使用animate时由于前置动画没有执行完成就开始执行第二段animate产生的抖动 解决方法在animate()前面添加stop()$(dome).stop().animate(),这也是最常见的一种
  2. 通过监听手指触摸,鼠标滚动等事件,去执行页面动态设置scrollTop的animate操作,在监听时,为了预防多次触发事件,我们都会给事件加上一个节流,animate方法前面也加上了stop(), 但是在ie浏览器中鼠标滚动时还是出现抖动情况,我个人想法是,因为在鼠标滚动时页面还未停止,animate就已经开始执行了,导致animate执行时记录的初始scrollTop位置与鼠标滚动时页面真正停止的位置不符,所以在使用animate时会出现一个小范围回滚抖动的情况。解决方法,在监听方法里面最开始阻止掉事件的默认event.preventDefault();就可以了。但是有一个例外,就是Chrome 监听touch类事件报错:无法被动侦听事件preventDefault,是新版本chrome 浏览器报错,导致preventDefault失效,解决方法可以看这个https://blog.csdn.net/lijingshan34/article/details/88350456 给事件进行一个声明,声明事件不是一个被动事件。

一起学习一起进步!记录学习中一点一滴!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值