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


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 相关文章推荐
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 Javascript
jquery统计用户选中的复选框的个数
Jun 06 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
Oct 24 Javascript
js实现PC端和移动端刮卡效果
Mar 27 Javascript
angular select 默认值设置方法
Jun 23 Javascript
js截取字符串功能的实现方法
Sep 27 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
May 07 Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 Javascript
JavaScript实现简单图片切换
Apr 29 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 strtotime 函数UNIX时间戳
2009/01/14 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php防止sql注入代码实例
2013/12/18 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
Python超越函数积分运算以及绘图实现代码
2019/11/20 Python
五种Python转义表示法
2020/11/27 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
个人公开承诺书
2014/03/28 职场文书
大型演出策划方案
2014/05/28 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
参赛口号
2014/06/16 职场文书
建筑学专业自荐书
2014/07/09 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
2014年医务科工作总结
2014/12/18 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
Python基础之字符串格式化详解
2021/04/21 Python