小程序
小游戏
企业微信
微信支付
扫描小程序码分享
onPageScroll做吸顶效果。。发现到达指定的位置 this.data.xxx的变量已经改了。但是class里面始终不会生效!。。。。能不能给解决下?已经很久了啊!!!
8 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不要指望官方了,这个都很久了,他们硬是说没问题,你能咋办啊
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这个老哥说得比较详细,可以解决这个问题https://blog.csdn.net/w001yy/article/details/106765954(总体就是频繁的去 setData 部分小程序会非常频繁(毫秒级)的去setData,其导致了两个后果: Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重)
不要用onPageScroll来做吸顶效果,用createIntersectionObserver来做,效果会好一些
小米8上体验非常差,延迟时间很长的
我也有同样问题,个别机型(YQ601,HUAWEI RIO-AL00),滑动的时候 某一个view的位置一直不能及时改变,延时的时间起码有5秒,大部分机型是正常的 是用这个方法获取的位置
wx.createSelectorQuery().select('#gift_button').boundingClientRect(function (rect1) {
var gift_button_top = rect1.top//按钮所在位置的top
var gift_button_height = rect1.height//按钮高度
console.log(gift_button_top + "----" + gift_button_height + "----" + that.data.windowHeight );
}).exec() 我是获取了高度后,控制底下的按钮的显示、隐藏,可是这延时太久了 导致总是两个按钮都显示了
今天遇到同样的问题,去看eleme的小程序做得效果又不错,啊。。。
wechatide://minicode/80RK0fmz7w34 去看看这个
这边测试是有效果的呀
您好,这个demo您在开发者工具中任何机型模拟或者iOS端真机上预览都是没有问题的,但在安卓端真机上看就会发现表现极差,延时会很严重,尤其是页面中再有几个view有bindtap事件之后会更差,延时惊人,无论安卓低端机高端机表现都很难接受,拜托您一定看一下
这边测试了没发现什么问题,麻烦提供一下GIF图和代码片段哈
很多安卓机器效果都很差,延迟厉害、
你这个demo之所以有延迟主要还是因为代码优化没有做好,你这样太过于频繁触发setData,改成下面这样就好了
onPageScroll:function(e){
if (e.scrollTop > 150){
if (!this.data.className) { // 加上这个判断
this.setData({
className: true
})
}
}else{
if (this.data.className) { // 加上这个判断
className: false
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
您好,可以看看这个么,https://developers.weixin.qq.com/community/develop/doc/000e4866b1c658fa7887f2da551800
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不要指望官方了,这个都很久了,他们硬是说没问题,你能咋办啊
这个老哥说得比较详细,可以解决这个问题https://blog.csdn.net/w001yy/article/details/106765954(总体就是频繁的去 setData 部分小程序会非常频繁(毫秒级)的去setData,其导致了两个后果: Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重)
不要用onPageScroll来做吸顶效果,用createIntersectionObserver来做,效果会好一些
小米8上体验非常差,延迟时间很长的
我也有同样问题,个别机型(YQ601,HUAWEI RIO-AL00),滑动的时候 某一个view的位置一直不能及时改变,延时的时间起码有5秒,大部分机型是正常的 是用这个方法获取的位置
wx.createSelectorQuery().select('#gift_button').boundingClientRect(function (rect1) {
var gift_button_top = rect1.top//按钮所在位置的top
var gift_button_height = rect1.height//按钮高度
console.log(gift_button_top + "----" + gift_button_height + "----" + that.data.windowHeight );
}).exec() 我是获取了高度后,控制底下的按钮的显示、隐藏,可是这延时太久了 导致总是两个按钮都显示了
今天遇到同样的问题,去看eleme的小程序做得效果又不错,啊。。。
wechatide://minicode/80RK0fmz7w34 去看看这个
这边测试是有效果的呀
您好,这个demo您在开发者工具中任何机型模拟或者iOS端真机上预览都是没有问题的,但在安卓端真机上看就会发现表现极差,延时会很严重,尤其是页面中再有几个view有bindtap事件之后会更差,延时惊人,无论安卓低端机高端机表现都很难接受,拜托您一定看一下
这边测试了没发现什么问题,麻烦提供一下GIF图和代码片段哈
很多安卓机器效果都很差,延迟厉害、
你这个demo之所以有延迟主要还是因为代码优化没有做好,你这样太过于频繁触发setData,改成下面这样就好了
onPageScroll:function(e){
if (e.scrollTop > 150){
if (!this.data.className) { // 加上这个判断
this.setData({
className: true
})
}
}else{
if (this.data.className) { // 加上这个判断
this.setData({
className: false
})
}
}
}
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
您好,可以看看这个么,https://developers.weixin.qq.com/community/develop/doc/000e4866b1c658fa7887f2da551800