案例:

其中最重要的思路就是如何让第二次或第三次以及后面的轮播有数据:

做法大致跟轮播图做法一样,只不过我们需要进行书写样式,代码如下:

<!-- 做一个轮播图navbar demo -->
<view class="navBar">
<swiper class="swiNav" indicator-dots="{{true}}" indicator-color="#ccc">
<block wx:for="{{navList}}" wx:key="index" wx:for-item="item">
<swiper-item class="itemNav" >
<view class="nav" wx:for="{{item}}" wx:for-item="citem" wx:key="index">
<!-- -->
<image class="icon" src="{{citem.imgUrl}}"></image>
<!-- {{item.imgUrl}} -->
<view class="name">{{citem.name}}</view>
<!-- {{item.name}} -->
</view>
</swiper-item>
</block>
</swiper>
</view>
page {
padding: 20rpx;
box-sizing: border-box;
}
.swiNav {
width: 100%;
height: 300rpx;
}
.swiNav .itemNav {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.swiNav .itemNav .nav {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
height: 120rpx;
width: 20%;
}
.swiNav .itemNav .nav .icon {
width: 80rpx;
height: 80rpx;
}
.swiNav .itemNav .nav .name {
font-size: 30rpx;
}
// pages/supply/index.js
Page({ /**
* 页面的初始数据
*/
data: {
current:1,
navList:[
{
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
}, {
name: "旅行",
imgUrl: "http://oss.saas.qzdcloud.com/1015685380629867520.jpg",
},
] },
getList(){
let list= this.data.navList;
let pageNum = 10; //我们需要的数据要多少条
let index = 0; //切割数据的位置
let navList=[];
if(list.length>pageNum){ //这里说明数组的长度比我们需要的数据要多
while(index < list.length){//说明还有数据可以切割。如果大于了。那么在index的位置则没有数据了
navList.push(list.slice(index, index += pageNum))
}
this.setData({
navList
})
return
}else{
this.setData({
navList: list
})
return
}
}, /**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) { }, /**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () { }, /**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.getList()
console.log(this.data.navList);
},

小程序或者vue,解决菜单导航做做成轮播的样子的更多相关文章

  1. 图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作

    图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作 什么是tabBar? 顶部或者底部tab栏如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以 ...

  2. 微信小程序弹出操作菜单

    微信小程序弹出操作菜单 比如在页面上放一个按钮,点击按钮弹出操作菜单,那么在按钮的 bindtap 事件里,执行下面的代码即可: wx.showActionSheet({ itemList: ['A' ...

  3. 小程序多级下拉菜单demo

    小程序多级下拉菜单demo - CSDN博客 https://blog.csdn.net/github_39371177/article/details/80251211

  4. 微信小程序把玩(三)tabBar底部导航

    原文:微信小程序把玩(三)tabBar底部导航 tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 ...

  5. 小程序clearinterval无效解决

    小程序clearinterval无效解决 小程序clearinterval清除定时器无效,原因是定时器使用与清除方法不对导致的,我们应将定时器绑定变量,这样在关闭页面清空定时器clearinterva ...

  6. 只会Vue怎么开发小程序?vue和微信小程序的到底有哪些区别?

    写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别. 一.生命周期 先贴两张生命周期图对比下: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. v ...

  7. Jquery实现动态导航栏和轮播导航栏

    动态导航栏和轮播导航栏的实现思想: 利用jquery技术的append()方法和bind()方法实现li标签的添加和点击事件绑定,在利用$getJSON(url,data,function)请求方法实 ...

  8. 微信小程序开发之自定义菜单tabbar

    做这个 遇到问题比较多,特此记录以便查看,直接上代码: 一.app.js 控制原有菜单隐藏.启用新菜单.菜单列表,集中在这里控制 hideTabBar这个很关键,解决苹果6S导致的双导航栏:原文htt ...

  9. 微信小程序 WXS实现json数据需要做过滤转义(filter)

    前言 最近有在做小程序开发,在开发的过程中碰到一点小问题,描述一下先. 本人在职的公司对于后台获取的 json 数据需要做过滤转义的很多,不同的状态码会对应不同的文字,但是在微信小程序中又没有类似 v ...

随机推荐

  1. call this的范围

    var f1=function(){this.a="类f1的实例的a属性"}; f1代表一个类: f1.a='对象f1的a属性'; var f2=function(){};//类f ...

  2. C++ 智能指针(shared_ptr/weak_ptr)原理分析

    其主要的类关系如下所示(省略相关的类模板参数): 图1 从上面的类图可以清楚的看出shared_ptr内部含有一个指向被管理对象(managed object)T的指针以及一个__shared_cou ...

  3. 优化MySQL占用内存过高

    打开mysql 的配置文件  my.cnf 查找方式:https://www.cnblogs.com/pxblog/p/13701211.html 在[mysqld]后面修改或添加 # The max ...

  4. Fast Matrix Operations(UVA)11992

    UVA 11992 - Fast Matrix Operations 给定一个r*c(r<=20,r*c<=1e6)的矩阵,其元素都是0,现在对其子矩阵进行操作. 1 x1 y1 x2 y ...

  5. VMware15 虚拟机分别设置连接笔记本的WLAN和以太网双网络

    VMware15 虚拟机分别设置连接笔记本的WLAN和以太网双网络 虚拟机:window 10 主机: window 10 VVmware有3种网络连接模式:桥接.NAT.主机模式,默认分别对应VMN ...

  6. Spring Boot + MyBatis + MySQL 实现读写分离

    读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做. 读写分离有两种实现方式: 第一种是依靠中间件(比如:MyCat ...

  7. A Simple Framework for Contrastive Learning of Visual Representations

    目录 概 主要内容 流程 projection head g constractive loss augmentation other 代码 Chen T., Kornblith S., Norouz ...

  8. Java初学者作业——分别计算两个整数加、减、乘、除的结果并显示,要求除法保留两位小数。

    返回本章节 返回作业目录 需求说明: 分别计算两个整数加.减.乘.除的结果并显示,要求除法保留两位小数. 实现思路: 接收用户控制台输入的两个整数. 实现两个整数的加.减.乘.除的运算并输出结果. 除 ...

  9. 使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额

    查看本章节 查看作业目录 需求说明: 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额 消费金额在 200 元以上的会员折扣是 7.5 折,消费金额没有达到 200 元的会员折扣是 ...

  10. docker 容器大小查看及清理docker磁盘空间

    本文为博主原创,转载请注明出处: 今天打开服务器下载文件时,发现服务器内存不足,并开始清理服务器内存,排查及清理方法如下: 1. 查看服务器内存大小: df -h            通过 df - ...