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


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 相关文章推荐
20个非常有用的PHP类库 加速php开发
Jan 15 Javascript
一些有用的JavaScript和jQuery的片段分享
Aug 23 Javascript
javascript object array方法使用详解
Dec 03 Javascript
js获取input标签的输入值实现代码
Aug 05 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
Dec 03 Javascript
浅析Bootstrap验证控件的使用
Jun 23 Javascript
IntersectionObserver API 详解篇
Dec 11 Javascript
JavaScript数组排序reverse()和sort()方法详解
Dec 24 Javascript
angular 服务随记小结
May 06 Javascript
8 个有用的JS技巧(推荐)
Jul 03 Javascript
JavaScript实现简单随机点名器
Nov 21 Javascript
swiper自定义分页器的样式
Sep 14 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php unset全局变量运用问题的深入解析
2013/06/17 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python中join函数简单代码示例
2018/01/09 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
Python logging模块用法示例
2018/08/28 Python
pandas.cut具体使用总结
2019/06/24 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
Django框架 信号调度原理解析
2019/09/04 Python
Python partial函数原理及用法解析
2019/12/11 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
css3高级选择器使用方法
2013/12/02 HTML / CSS
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
医学生自荐信
2013/12/03 职场文书
主持人婚宴答谢词
2014/01/28 职场文书
法人代表授权委托书
2014/04/08 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书