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


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 相关文章推荐
js 判断 enter 事件
Feb 12 Javascript
jQuery 选择器理解
Mar 16 Javascript
js客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
基于JQuery的简单实现折叠菜单代码
Sep 15 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
js脚本分页代码分享(7种样式)
Aug 19 Javascript
vue.js初学入门教程(2)
Nov 07 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
Jun 26 Javascript
详解js类型判断
May 22 Javascript
angular中的post请求处理示例详解
Jun 30 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 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/12/06 PHP
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
降低PHP Redis内存占用
2017/03/23 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
js实现登录验证码
2016/12/22 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
用python实现对比两张图片的不同
2018/02/05 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python中类的属性和方法介绍
2018/11/27 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
基于python实现对文件进行切分行
2020/04/26 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
代理协议书
2014/04/22 职场文书
亲子活动总结
2014/04/26 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
主持人开幕词
2015/01/29 职场文书
《叶问2》观后感
2015/06/15 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python