小程序或者vue,解决菜单导航做做成轮播的样子
案例:


其中最重要的思路就是如何让第二次或第三次以及后面的轮播有数据:
做法大致跟轮播图做法一样,只不过我们需要进行书写样式,代码如下:
<!-- 做一个轮播图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,解决菜单导航做做成轮播的样子的更多相关文章
- 图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作
图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作 什么是tabBar? 顶部或者底部tab栏如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以 ...
- 微信小程序弹出操作菜单
微信小程序弹出操作菜单 比如在页面上放一个按钮,点击按钮弹出操作菜单,那么在按钮的 bindtap 事件里,执行下面的代码即可: wx.showActionSheet({ itemList: ['A' ...
- 小程序多级下拉菜单demo
小程序多级下拉菜单demo - CSDN博客 https://blog.csdn.net/github_39371177/article/details/80251211
- 微信小程序把玩(三)tabBar底部导航
原文:微信小程序把玩(三)tabBar底部导航 tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 ...
- 小程序clearinterval无效解决
小程序clearinterval无效解决 小程序clearinterval清除定时器无效,原因是定时器使用与清除方法不对导致的,我们应将定时器绑定变量,这样在关闭页面清空定时器clearinterva ...
- 只会Vue怎么开发小程序?vue和微信小程序的到底有哪些区别?
写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别. 一.生命周期 先贴两张生命周期图对比下: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. v ...
- Jquery实现动态导航栏和轮播导航栏
动态导航栏和轮播导航栏的实现思想: 利用jquery技术的append()方法和bind()方法实现li标签的添加和点击事件绑定,在利用$getJSON(url,data,function)请求方法实 ...
- 微信小程序开发之自定义菜单tabbar
做这个 遇到问题比较多,特此记录以便查看,直接上代码: 一.app.js 控制原有菜单隐藏.启用新菜单.菜单列表,集中在这里控制 hideTabBar这个很关键,解决苹果6S导致的双导航栏:原文htt ...
- 微信小程序 WXS实现json数据需要做过滤转义(filter)
前言 最近有在做小程序开发,在开发的过程中碰到一点小问题,描述一下先. 本人在职的公司对于后台获取的 json 数据需要做过滤转义的很多,不同的状态码会对应不同的文字,但是在微信小程序中又没有类似 v ...
随机推荐
- 当更新user表时,页面没有的属性,执行update语句不会更改以前的值
当更新user表时,页面没有的属性,执行update语句不会更改数据库表的值.不会用NULL值去填充
- netty系列之:小白福利!手把手教你做一个简单的代理服务器
目录 简介 代理和反向代理 netty实现代理的原理 实战 总结 简介 爱因斯坦说过:所有的伟大,都产生于简单的细节中.netty为我们提供了如此强大的eventloop.channel通过对这些简单 ...
- SpringBoot整合zimg图片服务器
依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</arti ...
- ZOJ 3870:Team Formation(位运算&思维)
Team Formation Time Limit: 2 Seconds Memory Limit: 131072 KB For an upcoming programming contest, Ed ...
- [数据结构]常见数据结构的typedef类型定义总结
目录 数据结构类型定义: 1.线性表 线性表(顺序存储类型描述): 线性表(动态存储类型描述) 2.线性表的链式表示 双链表的结点类型描述: 静态链表结点类型的描述: 3.栈的数据结构 顺序栈的数据结 ...
- OpenCV 可自动调整参数的透视变换
在shiter大牛的基础之上,对于他的程序做了一定的修改. 首先,通过两个循环使得霍夫变换两个参数:角度的分辨率和点个数的阈值可以变换,这样就不必对于每一张图像都手动的设置阈值.其次,过滤掉了两个距离 ...
- RTD2171U替代方案|CS5266Typec转HDMI 4K60HZ转换芯片方案|CS5266芯片
RTD2171U 是一款USB Type-C到HDMI转换器结合了USB Type-C输入接口和数字高清多媒体接口(HDMI)输出转换芯片.嵌入式微控制器基于工业标准8051内核.接收器端口将信道配置 ...
- CS5213替代AG6200 AG6201|HDMI转VGA带音频输出方案芯片
台湾安格AG6200 AG6201专门用于设计HDMI转VGA带音频输出的方案芯片,CS5213是一款HDMI to VGA转换器且结合了HDMI输入接口和模拟RGB DAC输出.带支持片上音频数模转 ...
- JavaWeb项目作业 Market商品管理系统
目录 一.语言和环境 二.实现功能 三.数据库设计 四.实现代码 一.语言和环境 实现语言:Java语言. 环境要求:MyEclipse(Eclipse)+MySQL. 实现方式:JBDC.jsp/s ...
- .NET 云原生架构师训练营(责任链模式)--学习笔记
目录 责任链模式 源码 责任链模式 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无需关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了 何时使用:在处理 ...