微信小程序?qū)崿F(xiàn)下拉刷新和輪播圖效果
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)下拉刷新和輪播圖展示的具體代碼,供大家參考,具體內(nèi)容如下
先上圖,再解釋

wxml頁面代碼:
<scroll-view scroll-y="true" bindscrolltolower="lower" style="height:{{screenH}}px" class="scroll">
<swiper autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" class="swiper-box">
<block wx:for="{{imgUrls}}">
<swiper-item>
<image src="{{item}}" class="slide-img" style="height:100%"></image>
</swiper-item>
</block>
</swiper>
<view class="text-food">美食篇</view>
<view class="list-box clear" wx:for="{{list}}">
<image src="{{item.pic}}" class="img-food fl"></image>
<view class="fl detail-view">
<text class="text-name">{{item.name}}</text>
<view class="use-text">用餐人數(shù)<text>{{item.cookingtime}}</text></view>
<view class="use-text overflow">菜譜說明:<text>{{item.content}}</text></view>
</view>
</view>
<view class="loading-view">
<image src="../../img/loading.gif" class="loading-img" wx:if="{{hasMore}}"></image>
<text wx:else class="no-data">沒有更多內(nèi)容了</text>
</view>
</scroll-view>
wxss樣式:
.fl {
float: left;
}
.fr {
float: right;
}
.clear:after {
content: '';
display: block;
clear: both;
}
view,scroll-view,swiper{
margin: 0px;
padding: 0px;
box-sizing: border-box;
}
.overflow{
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.scroll{
wwidth: 100%;
}
.scroll .slide-img{
width: 100%;
display: block;
}
.scroll .text-food{
color: #666;
font-size: 30rpx;
margin: 15rpx 0rpx 20rpx 1%;
height: 30rpx;
border-left: 2px solid rgb(0, 187, 161);
padding-left: 10rpx;
line-height: 30rpx;
}
.scroll .list-box{
padding: 0px 0px 20rpx 1%;
margin: 20rpx 0px;
border-bottom: 1px solid #d1d1d1;
}
.list-box .img-food{
width: 180rpx;
height: 180rpx;
}
.list-box .detail-view{
width: calc(100% - 180rpx);
padding-left: 4%;
height: 180rpx;
padding-top: 20rpx;
}
.detail-view .text-name{
color: rgb(0, 187, 161);
font-size: 32rpx;
}
.detail-view .use-text{
color: #666;
font-size: 28rpx;
margin: 15rpx 0px;
}
.loading-view{
text-align: center;
margin-bottom: 40rpx;
}
.loading-view .loading-img{
width: 32px;
height: 32px;
}
.loading-view .no-data{
color: #666;
font-size: 28rpx;
}
js代碼:
//fresh.js
var network_util = require('../../utils/network_util.js');
//獲取應(yīng)用實(shí)例
var app = getApp()
Page({
data: {
screenH:0,
autoplay:true,
duration:500,
interval:3000,
hasMore:true,
imgUrls:[
'../../img/test1.jpg',
'../../img/test2.jpg',
'../../img/test3.jpg',
],
pageNum:10,
list:[]
},
//事件處理函數(shù)
bindViewTap: function() {
wx.navigateTo({
url: '../logs/logs'
})
},
onLoad: function () {
console.log('onLoad');
var that = this;
wx.getSystemInfo({
success: function(res) {
that.setData({
screenH:res.windowHeight * 1.5
});
console.log(that.data.screenH+"====-------------");
}
});
var url = 'https://api.jisuapi.com/recipe/search?keyword=雞肉&num=this.data.pageNum&appkey=(ps:你的appkey)';
network_util._get(url,function(res){
that.setData({
list:res.data.result.list
});
console.log("成功請求=============================");
},function(){
});
//調(diào)用應(yīng)用實(shí)例的方法獲取全局?jǐn)?shù)據(jù)
app.getUserInfo(function(userInfo){
//更新數(shù)據(jù)
that.setData({
userInfo:userInfo
})
})
},
lower:function(){
console.log("滑到底部了===================");
var pageNum = this.data.pageNum + 5;
var that = this;
if(!that.data.hasMore || pageNum == 40){
that.setData({
hasMore:false
});
return;
}
console.log(pageNum+"頁數(shù)==========================");
var url = 'https://api.jisuapi.com/recipe/search?keyword=白菜&num='+(pageNum)+'&appkey=(ps:你的appkey)';
network_util._get(url,function(res){
that.setData({
list:that.data.list.concat(res.data.result.list),
pageNum:pageNum
});
console.log("成功請求2=============================");
},function(){
});
console.log("---------------------------")
},
})
network_util.js 代碼如下:(主要是對wx.request的請求做了類似于封裝調(diào)用方便用的。)
/**
* url 請求地址
* success 成功的回調(diào)
* fail 失敗的回調(diào)
*/
function _get( url, success, fail ) {
console.log( "------start---_get----" );
wx.request( {
url: url,
header: {
'Content-Type': 'application/json'
},
success: function( res ) {
success( res );
console.log("成功引用了==================");
},
fail: function( res ) {
fail( res );
}
});
console.log( "----end-----_get----" );
}
/**
* url 請求地址
* success 成功的回調(diào)
* fail 失敗的回調(diào)
*/
function _post(url,data, success, fail ) {
console.log( "----_post--start-------" );
wx.request( {
url: url,
header: {
'Content-Type': 'content-type x-www-form-urlencoded',
'Accept': 'application/json',
},
method:'POST',
data:'data='+data,
success: function( res ) {
success( res );
},
fail: function( res ) {
fail( res );
}
});
console.log( "----end-----_get----" );
}
/**
* url 請求地址
* success 成功的回調(diào)
* fail 失敗的回調(diào)
*/
function _post_json(url,data, success, fail ) {
console.log( "----_post--start-------" );
wx.request( {
url: url,
// header: {
// 'Content-Type': 'application/json',
// 'Accept': 'application/json',
// },
method:'POST',
data:data,
success: function( res ) {
success( res );
},
fail: function( res ) {
fail( res );
}
});
console.log( "----end----_post-----" );
}
module.exports = {
_get: _get,
_post:_post,
_post_json:_post_json
}
由于我請求的api是來自己與極速數(shù)據(jù)的,所以是私人的appkey。不方便透露,大家可以去注冊一下,里面可以免費(fèi)申請使用的。換成自己的appkey就可以啦。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript保留兩位小數(shù)的實(shí)現(xiàn)方法你了解嗎
這篇文章主要為大家介紹了javascript保留兩位小數(shù)的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
JS基于cookie實(shí)現(xiàn)來賓統(tǒng)計(jì)記錄訪客信息的方法
這篇文章主要介紹了JS基于cookie實(shí)現(xiàn)來賓統(tǒng)計(jì)記錄訪客信息的方法,通過javascript記錄訪客信息到cookie的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
基于JS實(shí)現(xiàn)操作成功之后自動跳轉(zhuǎn)頁面
這篇文章主要介紹了基于JS實(shí)現(xiàn)操作成功之后自動跳轉(zhuǎn)頁面的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
JavaScript開發(fā)時(shí)的五個(gè)注意事項(xiàng)
JavaScript開發(fā)時(shí)的五個(gè)注意事項(xiàng)講述了表單事件、鏈接、循環(huán)優(yōu)化、匿名函數(shù)、字符串連接等優(yōu)化技巧,需要的朋友可以參考一下2007-12-12
JS面向?qū)ο缶幊獭狤S6 中class的繼承用法詳解
這篇文章主要介紹了JS面向?qū)ο缶幊獭狤S6 中class的繼承用法,結(jié)合實(shí)例形式詳細(xì)分析了ES6中class繼承的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2020-03-03
tkinter使用js的canvas實(shí)現(xiàn)漸變色
這篇文章主要為大家介紹了tkinter使用canvas實(shí)現(xiàn)漸變色,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12
JavaScript實(shí)現(xiàn)多叉樹的遞歸遍歷和非遞歸遍歷算法操作示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)多叉樹的遞歸遍歷和非遞歸遍歷算法,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript多叉樹針對json節(jié)點(diǎn)的遞歸與非遞歸遍歷相關(guān)操作技巧,需要的朋友可以參考下2018-02-02

