index.js
Page ( { data : { menu : [ '国内捎带' , '组团拼车' , '团购接龙' , '二手闲置' ] , actionMenu : 2 , menuclass : [ '护肤品' , '电动车' , '分类一' , '分类二' ] , actionMenuclass : 0 , hou : 0 , min : 0 , sed : 0 , countDownNum : 45454545 } , onLoad : function ( ) { this . countDown ( ) ; } , menuClick ( e ) { let index = e. currentTarget. dataset. index; this . setData ( { actionMenu : index} ) } , menuclassClick ( e ) { let index = e. currentTarget. dataset. index; this . setData ( { actionMenuclass : index} ) } , countDown : function ( ) { let that = this ; let countDownNum = that. data. countDownNum; that. setData ( { timer : setInterval ( function ( ) { if ( countDownNum> 0 ) { countDownNum-- ; } var d = parseInt ( countDownNum / 3600 / 24 ) ; var h = parseInt ( countDownNum / 3600 % 24 ) ; var m = parseInt ( countDownNum / 60 % 60 ) ; var s = parseInt ( countDownNum % 60 ) ; d < 10 ? d = '0' + d : d; h < 10 ? h = '0' + h : h; m < 10 ? m = '0' + m : m; s < 10 ? s = '0' + s : s; that. setData ( { countDownNum : countDownNum, d : d, hou : h, min : m, sed : s} ) if ( countDownNum == 0 ) { clearInterval ( that. data. timer) ; var a= parseInt ( ( new Date ( "2019-05-24 16:42:30" . replace ( / - / g , "/" ) ) . getTime ( ) - new Date ( "2019-05-24 16:42:20" . replace ( / - / g , "/" ) ) . getTime ( ) ) / 1000 ) that. setData ( { countDownNum : a} ) that. countDown ( ) ; } } , 1000 ) } ) } ,
} )
index.json
{ "navigationBarTitleText" : "海外互助" , "usingComponents" : { }
}
index.wxml
< view class = "page" > < view class = "menu" > < view class = "menu-item {{index == actionMenu && 'actionMenu'}}" wx : for = "{{menu}}" wx : key= "item" bind : tap= "menuClick" data- index= "{{index}}" > { { item} } < view class = "hot" wx : if = "{{index == 0}}" > 热< / view> < / view> < / view> < view class = "menuclass" > < view class = "menuclass-left" > < view class = "menuclass-item {{index === actionMenuclass && 'actionMenuclass'}}" wx : for = "{{menuclass}}" wx : key= "item" bind : tap= "menuclassClick" data- index= "{{index}}" > { { item} } < / view> < / view> < image class = "menuclass-icon" src= "/pages/images/right.png" > < / image> < / view> < view class = "card-div" > < view class = "viewlr card-div-top" > < view style= "color: #27749E;" > 韩国roundlad< / view> < view class = "time" > < view class = "time-item" > { { hou} } < / view> < view class = "time-dot" > : < / view> < view class = "time-item" > { { min} } < / view> < view class = "time-dot" > : < / view> < view class = "time-item" > { { sed} } < / view> < / view> < / view> < view class = "card-text" > 本人亲测 不好用包退!! 复购率百分之80 % 快抢购吧< / view> < view class = "card" > < image class = "card-img" src= "https://img.js.design/assets/img/662a18c2bdf13478465fc858.jpg#6d5f1f21101578874b051b8374180b75" > < / image> < view class = "headinfo" > < view class = "head" > < / view> < view class = "head-name" > 蒋晓冬的特卖< / view> < / view> < view class = "card-content" > < view class = "titleinfo" > < view class = "titleinfo-name" > < view class = "titleinfo-state" > 已认证< / view> 韩国roundlab独岛水乳套装补水保湿学生护肤全新/ 100 + 200ml+ 肤敏感肌精油护肤< / view> < / view> < view class = "progress" > < / view> < view class = "viewlr goods" style= "align-items: flex-end;" > < view class = "goods-money" > $260, 00 < / view> < view class = "goods-residue" > 剩余拼团268 套< / view> < / view> < view class = "viewr goods-info" > < view class = "goods-info-item" > 12 分钟前< / view> < view class = "goods-info-item" > 4366 人查看< / view> < view class = "goods-info-item" > 23 次跟团< / view> < / view> < view class = "btn" > 报名占位< / view> < / view> < / view> < / view>
< / view>
index.wxss
. page{ background : rgba ( 234 , 240 , 255 , 1 ) ; height : 100vh; padding- top: 20rpx;
}
. viewlr{ display : flex; justify- content: space- between;
}
. viewr{ display : flex; justify- content: flex- end;
}
. menu{ width : 685rpx; height : 90rpx; opacity : 1 ; border- radius: 100rpx; background : #DEE4F2 ; margin : 0 auto; display : flex; justify- content: space- around; align- items: center;
}
. menu- item{ font- size: 28rpx; font- weight: 400 ; letter- spacing: 0px; line- height: 41 . 16rpx; color : rgba ( 72 , 94 , 150 , 1 ) ; text- align: left; position : relative; flex : 1 ; text- align: center;
}
. actionMenu{ height : 85rpx; line- height: 85rpx; border- radius: 50px; background : #FFFFFF ; box- shadow: 0px 0px 7px 1px #ACBCE6 ; align- items: center; position : relative; color : #485E96 ;
}
. hot{ width : 46rpx; height : 29 . 5rpx; line- height: 29 . 5rpx; text- align: center; opacity : 1 ; background : #FF4A50 ; opacity : 1 ; font- size: 25rpx; font- weight: 400 ; color : rgba ( 255 , 255 , 255 , 1 ) ; position : absolute; top : - 25rpx; right : - 20rpx; border- radius: 10rpx;
}
. menuclass{ display : flex; margin- top: 20rpx; padding : 0 25rpx;
}
. menuclass- left{ display : flex; flex : 1 ; justify- content: space- around; align- items: center;
}
. menuclass- icon{ width : 40rpx; height : 40rpx; margin- top: 10rpx;
}
. menuclass- item{ width : 74rpx; height : 35rpx; opacity : 1 ; display : flex; font- size: 25rpx; font- weight: 400 ; letter- spacing: 0px; line- height: 34 . 3rpx; color : rgba ( 72 , 94 , 150 , 1 ) ; background : #DEE4F2 ; padding : 10rpx 18rpx; border- radius: 30rpx;
}
. actionMenuclass{ background : #35C2F7; color : #FFFFFF ;
}
. card- div{ border- radius: 20rpx; background : linear- gradient ( 180deg, #AEE2FA 0 % , #EAF0FF 100 % ) ; padding : 30rpx; margin- top: 30rpx;
}
. card- text{ font- size: 26rpx; font- weight: 500 ; color : rgba ( 39 , 116 , 158 , 1 ) ; margin- bottom: 10rpx;
}
. card- div- top{ margin- bottom: 14rpx;
}
. card{ border- radius: 20rpx; background- color: #FFFFFF ; padding- bottom: 20rpx;
}
. headinfo{ display : flex; justify- content: flex- start; align- items: flex- end; margin- top: - 80rpx; margin- left: 20rpx;
}
. card- img{ width : 100 % ; border- top- right- radius: 20rpx; border- top- left- radius: 20rpx;
}
. head{ width : 150rpx; height : 150rpx; opacity : 1 ; background : #A6D4AE ; border- radius: 50 % ;
}
. head- name{ color : rgba ( 39 , 116 , 158 , 1 ) ; padding- bottom: 10rpx;
}
. titleinfo{ display : flex; justify- content: flex- start;
}
. titleinfo- state{ display : inline; margin- right: 20rpx; color : #D98C28 ;
}
. titleinfo- name{ flex : 1 ; color : rgba ( 39 , 116 , 158 , 1 ) ; font- size: 26rpx;
}
. progress{ margin : 0 auto; height : 14px; opacity : 1 ; background : #E4F6FE ; margin- top: 20rpx; position : relative;
}
. progress: : before{ content : "" ; position : absolute; left : 0 ; top : 0 ; width : 50 % ; height : 14px; opacity : 1 ; background : #B5E3FD ;
}
. card- content{ padding : 20rpx
}
. btn{ height : 100rpx; line- height: 100rpx; text- align: center; border- radius: 102px; background : linear- gradient ( 180deg, #A3DEF8 0 % , #3CC6F4 100 % ) ; box- shadow: 0px 2px 20px - 2px #666666 ; margin- top: 50rpx; color : #FFFFFF ;
}
. goods{ margin- top: 30rpx; margin- bottom: 15rpx;
}
. goods- money{ color : #E33C64 ; font- size: 40rpx;
}
. goods- residue{ font- size: 26rpx; color : #27749E;
}
. goods- info{ font- size: 23rpx; color : rgba ( 166 , 166 , 166 , 1 ) ;
}
. goods- info- item{ margin- left: 20rpx;
}
. time{ display : flex;
}
. time- item{ background- color: #27749E; color : #FFFFFF ; font- size: 27rpx; padding : 5rpx; border- radius: 4rpx;
}
. time- dot{ margin : 0 5rpx;
}