微信小程序实战之轮播图(3)
发布时间 - 2026-01-11 00:41:47 点击率:次轮播图是大部分应用的一个常用的功能,常用于广告投放、产品展示、活动展示等等。

漂亮的轮播图效果可以吸引用户的点击,达到推广产品的作用。
废话少说,下面开始动手。
业务需求:
5个图片轮番播放,可以左右滑动,点击指示点可以切换图片
重点说明:
由于微信小程序,整个项目编译后的大小不能超过1M
查看做轮播图功能的一张图片大小都已经有100+k了
那么我们可以把图片放在服务器上,发送请求来获取。
index.wxml:
这里使用小程序提供的<swiper>组件
autoplay:自动播放
interval:自动切换时间
duration:滑动动画的时长
current:当前所在的页面
bindchange:current 改变时会触发 change 事件
由于<swiper>组件提供的指示点样式比较单一,另外再自定义指示点的样式
<view class="recommend" >
<view class="swiper-container">
<swiper autoplay="auto" interval="5000" duration="500" current="{{swiperCurrent}}" bindchange="swiperChange" class="swiper">
<block wx:for="{{slider}}" wx:key="unique">
<swiper-item data-id="{{item.id}}" data-url="{{item.linkUrl}}">
<image src="{{item.picUrl}}" class="img"></image>
</swiper-item>
</block>
</swiper>
<view class="dots">
<block wx:for="{{slider}}" wx:key="unique">
<view class="dot{{index == swiperCurrent ? ' active' : ''}}" bindtap="chuangEvent" id="{{index}}">{{index+1}}</view>
</block>
</view>
</view>
</view>
index.wxss:
.swiper-container{
position: relative;
}
.swiper-container .swiper{
height: 300rpx;
}
.swiper-container .swiper .img{
width: 100%;
height: 100%;
}
.swiper-container .dots{
position: absolute;
right: 40rpx;
bottom: 20rpx;
display: flex;
justify-content: center;
}
.swiper-container .dots .dot{
margin: 0 10rpx;
width: 28rpx;
height: 28rpx;
background: #fff;
border-radius: 50%;
transition: all .6s;
font: 300 18rpx/28rpx "microsoft yahei";
text-align: center;
}
.swiper-container .dots .dot.active{
background: #f80;
color:#fff;
}
index.js:
//导入js
var util = require('../../utils/util.js')
Page({
data: {
slider: [],
swiperCurrent: 0
},
onLoad: function () {
var that = this;
//网络访问,获取轮播图的图片
util.getRecommend(function(data){
that.setData({
slider: data.data.slider
})
});
},
//轮播图的切换事件
swiperChange: function(e){
//只要把切换后当前的index传给<swiper>组件的current属性即可
this.setData({
swiperCurrent: e.detail.current
})
},
//点击指示点切换
chuangEvent: function(e){
this.setData({
swiperCurrent: e.currentTarget.id
})
}
})
utils.js:
//网络访问
function getRecommend(callback) {
wx.request({
url: 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg',
data: {
g_tk: 5381,
uin: 0,
format: 'json',
inCharset: 'utf-8',
outCharset: 'utf-8',
notice: 0,
platform: 'h5',
needNewCode: 1,
_: Date.now()
},
method: 'GET',
header: {'content-Type': 'application/json'},
success: function(res){
if(res.statusCode == 200){
callback(res.data);
}
}
})
}
module.exports = {
getRecommend: getRecommend
}
运行:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# 微信小程序
# 轮播图
# 微信小程序 swiper组件轮播图详解及实例
# 微信小程序之swiper轮播图中的图片自适应高度的方法
# 微信小程序视图容器(swiper)组件创建轮播图
# 微信小程序使用swiper组件实现类3D轮播图
# 微信小程序 轮播图swiper详解及实例(源码下载)
# 微信小程序使用swiper组件实现层叠轮播图
# 微信小程序实现的3d轮播图效果示例【基于swiper组件】
# 微信小程序实现轮播图效果
# 微信小程序实现Swiper轮播图效果
# 微信小程序实现轮播图指示器
# 放在
# 要把
# 我们可以
# 自定义
# 产品展示
# 不能超过
# 少说
# 时长
# 大家多多
# 自动播放
# 器上
# id
# data
# linkUrl
# url
# swiperCurrent
# item
# swiperChange
# block
# slider
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
香港服务器部署网站为何提示未备案?
Linux系统运维自动化项目教程_Ansible批量管理实战
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
EditPlus中的正则表达式 实战(2)
如何构建满足综合性能需求的优质建站方案?
大型企业网站制作流程,做网站需要注册公司吗?
Laravel怎么使用artisan命令缓存配置和视图
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
如何在阿里云完成域名注册与建站?
QQ浏览器网页版登录入口 个人中心在线进入
如何基于PHP生成高效IDC网络公司建站源码?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
php json中文编码为null的解决办法
如何快速生成可下载的建站源码工具?
西安专业网站制作公司有哪些,陕西省建行官方网站?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
php结合redis实现高并发下的抢购、秒杀功能的实例
如何在 React 中条件性地遍历数组并渲染元素
成都网站制作公司哪家好,四川省职工服务网是做什么用?
韩国服务器如何优化跨境访问实现高效连接?
Laravel怎么使用Intervention Image库处理图片上传和缩放
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Laravel如何处理文件下载请求?(Response示例)
如何快速完成中国万网建站详细流程?
高防服务器租用如何选择配置与防御等级?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
如何在宝塔面板中创建新站点?
Laravel如何配置Horizon来管理队列?(安装和使用)
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
Python函数文档自动校验_规范解析【教程】
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
Laravel如何与Inertia.js和Vue/React构建现代单页应用
南京网站制作费用,南京远驱官方网站?
Python数据仓库与ETL构建实战_Airflow调度流程详解
如何在景安服务器上快速搭建个人网站?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
做企业网站制作流程,企业网站制作基本流程有哪些?
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
Firefox Developer Edition开发者版本入口
Linux网络带宽限制_tc配置实践解析【教程】

