微信小程序开发之左右分栏效果的实例代码


Posted in Javascript onMay 20, 2019

本文以一个简单的小例子,简述在微信小程序开发中左右分栏功能的实现方式,主要涉及scroll-view ,列表数据绑定,及简单样式等内容,属于初级入门内容,仅供学习分享使用。

概述

在微信小程序开发中,左右分栏(左边显示分类,右边显示明细,然后进行联动)是一种常见的布局方式,多应用于点餐,冷饮店,外卖,以及其他类似的商城。

布局分析

布局分析图示如下:

微信小程序开发之左右分栏效果的实例代码

涉及知识点

•scroll-view 可滚动视图区域。使用竖向滚动时,需要给<scroll-view>一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。
•scroll-y  是否允许纵向滚动,默认false。
•scroll-into-view  值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素(动态更新该属性的值,实现左右联动)。
•view 基础控件。
•hover-class   设置指定按下去的样式类。当 hover-class="none" 时,没有点击态效果。
•wx:for 在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item。
•bindtap='showItem' 绑定组件的单击事件,不加括弧。

示例效果图

示例效果图如下所示:

微信小程序开发之左右分栏效果的实例代码

核心代码

WXML代码如下:

<!--pages/show/show.wxml-->
<view class="show-info">
 <scroll-view class='left' scroll-y>
 <view class="jy-item" wx:for="{{jytype}}" wx:key="id" hover-class="jy-item-hover" wx:for-item="item" bindtap='showItem' data-id="{{item.id}}">
 <image src="{{item.url}}"></image>
 <label>{{item.name}}</label>
 </view>
 </scroll-view>
 <scroll-view class='right' scroll-y scroll-into-view="{{viewId}}">
 <view class="jy-detail" wx:for="{{jydetail}}" wx:key="id" id= "D-{{detail.typeid}}-{{detail.id}}" wx:for-item="detail" bindtap='showDetail' data-id="{{detail.id}}">
 <image src="{{detail.url}}"></image>
 <label>{{detail.name}}</label>
 </view>
 </scroll-view>
</view>

JS代码如下:

showItem: function(event) {
 var that=this;
 var viewId = "D-" + event.currentTarget.dataset.id + "-" + event.currentTarget.dataset.id+"00";
 that.setData({
 viewId: viewId
 });
 console.log(viewId);
 },

WXSS布局如下,此处主要用到了盒子布局(display: flex;flex-direction: row;):

.show-info {
 height: 100%;
 display: flex;
 flex-direction: row;
 align-items: flex-start;
 padding: 10rpx 0;
 box-sizing: border-box;
}

.left {
 width: 30%;
 height: 100%;
 display: flex;
 flex-direction: column;
 margin:2px;
}
.jy-item-hover{
 border: none;
}
.right {
 width: 70%;
 height: 1200rpx;
 display: flex;
 flex-direction: column;
 margin: 2px;
}

总结

以上所述是小编给大家介绍的微信小程序开发之左右分栏效果的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Flex通过JS获取客户端IP和计算机名的实例代码
Nov 21 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
无缝滚动的简单实现代码(推荐)
Jun 07 Javascript
基于JS代码实现导航条弹出式悬浮菜单
Jun 17 Javascript
JS实现简单的右下角弹出提示窗口完整实例
Jun 21 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
Jan 27 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
Mar 03 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
vue中axios请求的封装实例代码
Mar 23 Javascript
JS async 函数的含义和用法实例总结
Apr 08 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 Javascript
vue+Element-ui实现分页效果
Nov 15 Javascript
微信小程序rich-text富文本用法实例分析
May 20 #Javascript
bootstrap中的导航条实例代码详解
May 20 #Javascript
详解小程序云开发数据库
May 20 #Javascript
VUE脚手架具体使用方法
May 20 #Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 #Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 #Javascript
微信小程序上传文件到阿里OSS教程
May 20 #Javascript
You might like
PHP个人网站架设连环讲(四)
2006/10/09 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python中的模块和包概念介绍
2015/04/13 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
pygame实现弹球游戏
2020/04/14 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
如何查看python关键字
2021/01/17 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
企业标语大全
2014/07/01 职场文书
经典毕业生求职信
2014/07/12 职场文书
党在我心中演讲稿
2014/09/02 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书
刑事撤诉申请书
2015/05/18 职场文书
聘任合同书
2015/09/21 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js