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


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 相关文章推荐
jQuery select操作控制方法小结
May 26 Javascript
jQuery 名称冲突的解决方法
Apr 08 Javascript
改善用户体验的五款jQuery插件分享
May 22 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
Feb 27 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
Apr 19 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
js中window.open()的所有参数详细解析
Jan 09 Javascript
基于JQuery实现图片轮播效果(焦点图)
Feb 02 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
Aug 21 Javascript
Vue实现固定定位图标滑动隐藏效果
May 30 Javascript
vue-cli 3 全局过滤器的实例代码详解
Jun 03 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 session 检测和注销
2009/03/16 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
js获取内联样式的方法
2015/01/27 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
python使用cookielib库示例分享
2014/03/03 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
Python科学画图代码分享
2017/11/29 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
装修设计师求职信
2014/02/26 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
超市工作总结范文2014
2014/12/19 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
入党积极分子考察意见
2015/06/02 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js