This article example shares the specific code for implementing the list countdown in the mini program for your reference. The specific content is as follows Effect HTML Code <view class="hbMpBox" wx:for="{{mpThing}}" data-goodsId="{{item.goods_id}}" data-id="{{index}}" bindtap="navSeceGroup"> <view class="hbMpBox_l"> <image src="{{item.goods_img}}"></image> </view> <view class="hbMpBox_r"> <view class="hbMpBox_r_head">{{item.goods_name}}</view> <view class="hbMpBox_r_time"> <view class="syTime_tx" style="font-weight: 600;">Distance to end:</view> <view class="syTime_day">{{item.goods_time[0]}}day</view> <view class="syTime_time syTime_time1">{{item.goods_time[1]}}</view> <view class="syTime_time1">:</view> <view class="syTime_time syTime_time2">{{item.goods_time[2]}}</view> <view class="syTime_time1">:</view> <view class="syTime_time syTime_time3">{{item.goods_time[3]}}</view> </view> <view class="hbMpBox_r_price"> <view class="hbMpBox_r_price_l"> <view class="hbMpBox_r_price_l_box onFontNow" style="max-width: 400rpx;"> <text style="color: #999;">Group price:</text><text style="color: #d13d4b;font-size: 34rpx;">¥{{item.secs_price}}</text> </view> </view> <view class="hbMpBox_r_price_r"> Fun Group </view> </view> </view> <view class="indexMptxBox" wx:if="{{mpThing[0]}}" bindtap="secondGroupNav"> Click to view more</view> CSS Code /*Second spelling style writing*/ .hbMpBox{ padding: 20rpx; background: #fff; display: flex; border-bottom: 2rpx #eee solid; } .hbMpBox .hbMpBox_l{ width: 155rpx; height: 140rpx; min-width: 155rpx; } .hbMpBox .hbMpBox_l image{ width: 100%; height: 100%; } .hbMpBox .hbMpBox_r{ width: 540rpx; margin-left: 20rpx; color: #333; font-size: 22rpx; position: relative; } .hbMpBox .hbMpBox_r .hbMpBox_r_bb{ display: flex; position: relative; margin-top: 10rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_l2{ position: relative; max-width: 270rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_hh{ font-size: 28rpx; max-width: 270rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_l2 .hbMpBox_r_l2_h{ font-size: 40rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_l2 .hbMpBox_r_l2_des{ width: 100%; margin-right: 20rpx; margin-top: 10rpx; color: #a8a8a8; line-height: 35rpx; height: 70rpx; word-break: break-all; text-overflow: ellipsis; display: -webkit-box; /** The object is displayed as a telescopic box model**/ -webkit-box-orient: vertical; /** Set or retrieve the arrangement of the child elements of the flexbox object **/ -webkit-line-clamp: 2; /** Number of lines displayed **/ overflow: hidden; /** Hide the overflow content**/ } .hbMpBox .hbMpBox_r .hbMpBox_r_l2 .hbMpBox_r_l2_text{ font-weight: 600; color: #d13d4b; margin-top: 10rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_head{ font-size: 28rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_des{ margin-top: 4rpx; color: #999; } .hbMpBox .hbMpBox_r .hbMpBox_r_l2_Time{ font-size: 20rpx; color: #bdbdbd; word-spacing: 5rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_l2_Time .fontTime{ font-weight: 900; font-size: 26rpx; color: #7c7d7f; } .hbMpBox_r .hbMpBox_r_r2{ min-width: 210rpx; max-width: 48%; border: 2rpx #d13d4b solid; border-radius: 10rpx; max-height: 110rpx; position: absolute; right: 0rpx; height: 100%; } .hbMpBox_r .hbMpBox_r_r2 .hbMpBox_r_r2_in{ height: 54rpx; display: flex; justify-content: center; align-items: center; padding: 0rpx 10rpx; line-height: 54rpx; } .hbMpBox_r .hbMpBox_r_r2 .hbMpBox_r_r2_in1{ background: #d13d4b; color: #fff; } .hbMpBox_r .hbMpBox_r_r2 .hbMpBox_r_r2_in2{ color: #d13d4b; } .hbMpBox .hbMpBox_r .hbMpBox_r_time{ margin-top: 15rpx; font-size: 24rpx; display: flex; align-items: center; } .syTime_time{ padding: 3rpx 6rpx; background: #444; text-align: center; color: #fff; border-radius: 5rpx; margin: 0rpx 5rpx; } .hbMpBox .hbMpBox_r .hbMpBox_r_price{ margin-top: 20rpx; display: flex; justify-content: space-between; align-items: center; } .hbMpBox .hbMpBox_r .hbMpBox_r_price .hbMpBox_r_price_r{ background: #d13d4b; color: #fff; width: 150rpx; height: 50rpx; line-height: 50rpx; text-align: center; border-radius: 5rpx; } .indexMptxBox{ padding: 20rpx; text-align: center; font-size: 24rpx; } JS code (get background data query and use FIND method to insert fields, direct traversal will have problems) mpThing.find(function(v){ var aa = v.goods_time; var bb = util.dayTimeArr(aa); v.goods_time = bb that.setData({ mpThing:mpThing, }) var ref = setInterval(function(){ aa-- var timeArr = util.dayTimeArr(aa); v.goods_time = timeArr that.setData({ mpThing:mpThing, }) },1000); }) The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: How to solve the timeout during pip operation in Linux
>>: How to solve the mysql error 1033 Incorrect information in file: 'xxx.frm'
Effective solution for Ubuntu in virtual machine ...
This article shares the specific code of Vue to i...
1) Enter the folder path where the jdk file is st...
This article shares the specific code of JS to ac...
MySQL foreign key constraint (FOREIGN KEY) is a s...
External Access Randomly map ports Using the -P f...
Tomcat itself optimization Tomcat Memory Optimiza...
Preface: MYSQL should be the most popular WEB bac...
This article shares the installation and configur...
Introduction Animation allows you to easily imple...
[LeetCode] 184. Department Highest Salary The Emp...
<br />Table is a tag that has been used by e...
Table of contents 1. Compiler code format specifi...
Let's take a look at the command to restart t...
Data Sheet /* Navicat SQLite Data Transfer Source...