getEject:function(){ var arr =[ { name: "木紫槿", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "细节", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "决定", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "成败", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "新数据1", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "新数据2", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "新数据3", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "新数据4", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, { name: "新数据5", imageUrl: "https://wx.qlogo.cn/mmopen/vi_32/YE9cSBvaamKEGaYfD5vwj5ekwbdOQHWofR0FGNluicictus1hQAVe758oNpn0iaxvt4h7MBdWAvwbDXmick34RKWtg/132", state: "已购买" }, ] var count = 0; var array = new Array(); var that = this; var timer1 = setInterval(function(){ var time = Date.parse(new Date()) if(count<4){ array.push(arr[count]); that.setData({ eject: array }) }else{ clearInterval(timer1) } count++; },1000) var index = 4; var arrIndex = 0; var timer2 = setInterval(function () { if (index >= arr.length&&count>4) { index = 0 var eject = that.data.eject; eject[arrIndex] = arr[index] that.setData({ eject: eject }) index++; } else if (index < arr.length && count >4) { var eject = that.data.eject; eject[arrIndex] = arr[index] that.setData({ eject: eject }) index++; } if (arrIndex<3){ arrIndex++ }else{ arrIndex = 0 } }, 1000) },
HTML 代码:
<view id="eject"> <view class="eject-notice" wx:for="{{eject}}" wx:key="key"> <image src="{{item.imageUrl}}"></image> <text>{{item.name}}</text> <view class="state">{{item.state}}</view> </view> </view>
CSS 样式:
.eject-notice{ height: 30px; display: flex; justify-content: flex-start; align-items: center; border-radius: 15px; background: rgba(0,0,0,0.6); position: fixed; left: 8px; bottom: 300rpx; z-index: 9999; color: #fff; font-size: 12px; animation: ejectIn 4s infinite; -webkit-animation: ejectIn 4s infinite; /* animation-iteration-count: 1; */ animation-timing-function:linear; -webkit-animation-timing-function: linear; opacity: 0; } .eject-notice image{ width: 25px; height: 25px; margin: 5px; border-radius: 50%; margin-right: 10px; } .eject-notice .state{ height: 30px; border-radius: 15px; background-color: #FF3545; color: #fff; font-size: 12px; display: flex; justify-content: center; align-items: center; padding: 0 10px; margin-left: 5px; } @keyframes ejectIn{ 0%{ left: -200px; bottom: 300px; } 10%{ left: 50px; bottom: 300px; } 16%{ left: -10px; opacity: 1; } 18%{ left: 10px; } 60%{ bottom:375px; opacity: 1; } 80%{ bottom: 412.5px; opacity: 0; } 100%{ left: 10px; bottom: 450px; opacity: 0; } } @-webkit-keyframes ejectIn{ 0%{ left: -200px; bottom: 300px; } 10%{ left: 50px; bottom: 300px; } 16%{ left: -10px; opacity: 1; } 18%{ left: 10px; } 60%{ bottom: 375px; opacity: 1; } 80%{ bottom:412.5px; opacity: 0; } 100%{ left: 10px; bottom: 450px; opacity: 0; } }
小程序的有些复杂,不能像web一样操作dom删除之前的节点,只能控制循环的数组的值。
H5的话,一个定时器就够了。
相关推荐
7. **结算功能**:当用户确认购买后,点击“去结算”按钮,小程序应跳转到订单确认页面,展示用户选购的商品列表和总价。在这一环节,可能还需要调用微信支付接口,实现在线支付。 8. **异常处理**:考虑到网络不...
本知识点主要围绕“小程序之页面弹窗”展开,涉及module页面传取、底部弹出视图、顶部提示和角标,以及商品数量加减等核心概念。 首先,我们要理解`module`在小程序中的含义。Module(模块)是一种组织代码的方式,...
例如,在骆驼优品(商城)中,可能用到了`wx.request`进行商品信息的获取和订单提交,`wx.showModal`用于弹出提示框,`wx.navigateTo`用于页面间的跳转。 5. **优惠券功能**:实现优惠券发放和使用,需要设计数据库...
例如,电商类小程序通常会在商品详情页设置转发按钮,用户可以将感兴趣的商品分享给朋友,讨论购买意见;而新闻资讯类小程序则会在文章底部提供分享选项,方便用户传播有价值的信息。这些都充分利用了微信小程序的...
设计时应避免在用户进行操作流程时插入额外内容,防止中断用户的行动路径,如避免在购买过程中弹出不相关的抽奖界面。 局部加载反馈和模态窗口加载反馈是两种重要的【反馈机制】。局部加载仅在触发区域显示反馈,...
如图5所示,弹出的抽奖窗口可能会让用户忘记最初购买商品的目标,因此要避免这类中断行为。 4. **局部加载反馈**: 局部加载反馈是指只在触发加载区域显示加载状态,这种方法减少了页面的跳动感,提升了用户体验。...
在微信小程序开发中,投资理财预约案例是一种常见的应用场景,它涉及到用户通过小程序进行金融产品的预约购买,例如定期存款、基金、保险等。本案例源码提供了实现这一功能的完整代码结构,有助于开发者深入理解微信...
- 弹出授权框请求用户授权。 - 获取用户的公开信息,如昵称、头像等。 4. **支付功能集成** - 调用微信支付接口实现商品购买流程。 #### 六、性能优化技巧 1. **图片懒加载** - 对于大量图片的页面,可以采用懒...
例如,在购物过程中突然弹出的抽奖活动可能会中断用户购买流程,导致转化率下降。 4. **局部加载反馈**:局部加载反馈是指仅在触发加载的区域显示加载状态,这种方法减少了页面的跳动感,提供更好的用户体验,是...
- **实现机制**:当用户触发上述条件时,会弹出授权窗口,用户可以选择是否授权。 - **处理逻辑**:若用户同意授权,则继续执行后续操作;若拒绝,则停留在当前页面并提示授权失败,但用户仍可以继续浏览其他内容。 ...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,它提供了丰富的组件和API,使得开发者可以轻松构建原生感的用户界面。在这个特定的场景中,我们关注的是“微信小程序---城市选择”功能,这是一种常见于电商...
6. **弹出式提示(TOAST)的应用**:轻量级的成功提示适合使用TOAST,它不影响用户流程,如图5.8。然而,错误提示不应使用TOAST,因为它可能让用户错过重要信息。 7. **模态对话框用于重要操作结果**:对于需要用户...
广告增值:新增插屏弹出广告功能,有效提升用户互动与收益。 终端适配:特别设置禁止PC端访问,确保广告收益最大化(因PC端小程序不支持广告展示)。 功能支持概览: 灵活分类:支持添加自定义分类、分类介绍及...
- **设计原则**: 在用户执行某些操作时,如支付、分享等,可能会弹出权限确认窗口。设计时需注意简洁明了,并且要确保用户能够轻松理解并作出决策。 **4.3 时间距离规范** - **4.3.1 时间规范**: 设定小程序中显示...
又或者,在用户触发某些操作(如删除、确认购买等)时,弹出确认框可以增加交互的明确性和安全性。此外,弹出框还可以用于显示动态更新的信息,如通知、提示或者广告。 总结起来,EeekSoft.Web.PopupWin控件是ASP...
1. **限购策略**:在1.12.3版本中,当用户购买限购商品并在未支付的情况下取消订单,系统会记住这次行为,并在用户下次尝试购买同款商品时弹出限购提示。这有助于商家控制库存,防止恶意购买,同时也能确保公平的...
删除操作通常会弹出确认提示框,防止误操作。在后台或本地存储中移除相应商品数据后,需刷新购物车页面显示最新的商品列表。 6. **事件处理**:每个商品项上的加减按钮需要绑定事件,用于增加或减少商品数量。全选...
触屏版会根据打开的用户地区进行自动城市更新,弹出提示,是否回到当前城市。 登陆注册 用户可以用QQ或者手机号码登陆触屏版进行购物,减少繁琐的输入选项。 在线搜索 触屏版首页有搜索框,用户可以输入自己喜欢的...
在Android应用中,我们可以通过监听系统的剪贴板服务(ClipboardManager)来检测是否有新的淘口令被复制,一旦检测到,就弹出一个自定义的对话框来提示用户。 1. 创建后台Service:在Android应用中,为了持续监听...