吸顶建议使用相交区域createIntersectionObserver去做; 如果使用onPageScroll,函数截流或者抽取组件,减少setData影响范围
onPageScroll做滚动吸顶反应迟钝<view class="active-header {{titel?'titel-list':''}}"> <view class="active-header-block {{ind=='0'? 'active' : ''}}" data-index="0" data-val="1" bindtap="changeBanner">上新</view> <view class="active-header-block {{ind=='1'? 'active' : ''}}" data-index="1" data-val="2" bindtap="changeBanner">热销</view> <view class='active-header-block {{daindex2 =="0"||daindex2 =="1" ?"active":""}}' data-index="2" data-index="{{daindex2}}" bindtap="choosesort2"> 价格 <image src="{{imageurl2}}" wx:if="{{noticeContent}}"></image> </view> </view> Page({ data: { titel: false, }, onPageScroll(res) { var that = this if (res.scrollTop >that.data.scrollTop) { that.setData({ titel: true }) } else { that.setData({ titel: false }) } } onPageScroll做滚动吸顶在真机上反应迟钝,一点都不流畅,体验效果不好
2019-07-29建议分页采用二维数组
分页 上滑加载,页面渲染特别慢(安卓)每次加载下一页,需要等差不多15秒,才能渲染出来,数据返回特别快。试了各种方法,包括设置wx:key, 也不好用,求官方给解答一下 万分感谢
2019-07-29设置一定的touchmove触发角度(与x轴的夹角); touchmove的时候设置一个变量为false,touchmove的时候,如果为false不响应事件,之后设置为true
地址list左滑删除问题地址管理列表实现左侧滑动删除的时候,在真机测试,当我上下滑动的时候,有时候也会触发movable-view这个组件往左滑动,如何去修改???
2019-07-29可以,在整个屏幕上覆盖一个view,绑定catchtouchmove为空函数
小程序自定义弹出层,使view层下的内容不能滑动,类似showLoading请问,小程序页面自定义的弹出层,能使view层后的内容不能滑动,类似wx.showLoading里的musk:true的功能,能这样操作吗?
2019-07-29我感觉严格的抛物线动画不能通过createAnimation实现,但是可以通过帧动画。 这是我之前写的抛物线组件: ts: Component({ data: { left: 0, top: 0, hidden: true, }, timer: 0, detached() { this.cancel(); }, pageLifetimes: { hide() { this.cancel(); }, }, methods: { animate(options: IOptions & { onEnd: () => void }) { const { onEnd } = options; this.cancel(false); this.setData({ left: options.start.x, top: options.start.y, hidden: false, }); parabolaAnimate(options, ({ x, y }, timer) => { this.setData({ left: x, top: y }); this.timer = timer; if (timer === 0) { this.setData({ hidden: true }); if (typeof onEnd === 'function') { onEnd(); } } }); }, cancel(hidden = true) { if (this.timer) { clearInterval(this.timer); this.timer = 0; } if (hidden) { this.setData({ hidden: true }); } }, }, }); interface IOptions { start: { x: number; y: number }; end: { x: number; y: number }; topY: number; gforce?: number; frameDuration?: number; } function parabolaAnimate( options: IOptions, callback: (ponit: { x: number; y: number }, timer: number) => void ) { const { start, end, topY, gforce = 2000, frameDuration = 10 } = options; const tStartToTop = Math.sqrt((Math.abs(topY - start.y) * 2) / gforce); const tTopToEnd = Math.sqrt((Math.abs(topY - end.y) * 2) / gforce); const tFrame = frameDuration / 1000; let tRest = tStartToTop + tTopToEnd; let vx = (end.x - start.x) / (tStartToTop + tTopToEnd); let vy = -gforce * tStartToTop; let startX = start.x; let startY = start.y; let timer = setInterval(() => { const ponit = { x: startX + vx * tFrame, y: startY + vy * tFrame + (gforce * tFrame * tFrame) / 2, }; vy = vy + gforce * tFrame; tRest = tRest - tFrame; startX = ponit.x; startY = ponit.y; if (tRest <= 0) { clearInterval(timer); timer = 0; } callback(ponit, timer); }, frameDuration); } wxml: <view hidden="{{hidden}}" class="parabola-ball" style="left:{{left}}px;top:{{top}}px;"></view> 调用: Page({ onReady() { this.parabolaBall = this.selectComponent("#parabola-ball"); this.systemInfo = wx.getSystemInfoSync(); }, animateBall(e) { const { screenHeight, screenWidth } = this.systemInfo; const { clientX, clientY } = e.touches[0]; const start = { x: clientX, y: clientY }; this.parabolaBall.animate({ start, end: { x: screenWidth * 0.62, y: screenHeight + 30 }, topY: clientY + 50 }); } }); 备注:重点在于抛物线函数parabolaAnimate的算法,其中起点坐标,终点坐标,顶点y坐标,重力加速度值是决定抛物线轨迹的必须要素。
添加到购物车抛物线动画哪位大神晓得 小程序如何实现 添加到购物车的抛物线动画 类似 jquery.fly.min.js DEMO示例:http://www.sucaihuo.com/jquery/0/1/demo/ JQ的方法是创建demo,而小程序无法创建demo 求教......
2019-07-29不可以
小程序用webview内嵌网页,可以在网页直接调起小程序支付吗小程序用webview内嵌网页,可以在网页直接调起小程序支付吗
2019-07-29