小程序微信商品列表的左右联动

小程序微信商品列表的左右联动,第1张

先前看到网上不少大神写的demo,其菜单栏主要以 A,B,C,D等字母为主,即A,B,C,D等字母为对应该项携带的 id(id不能为汉字或纯数字)。而笔者现在写的项目菜单栏为汉字,所以需要改变数据格式,进而需要改变 wxml 中的循环嵌套和获取。以下为成型后效果,希望对读者有帮助。

实现该功能的思路:通过点击左侧滑栏的某一项,获取到毕磨该元素携带的 id ,然后动态传给右侧滑栏的乎数携 scroll-into-view ,从而实现右侧滑栏对应的该元素运动置顶。

以下为完整数据

数据格式:

/* pages/listers/listers.wxss /

/ pages/list-1/list-1.wxss */

/ 总岁伏体主盒子 /

.container {

position: relative

width: 100%

height: 1220rpx

background-color: #f0f4f7

color: #939393

}

/ 左侧栏主盒子 /

.nav_left{

/ 设置行内块级元素(没使用定位) /

display: inline-block

width: 100%

height: 100%

/ 主盒子设置背景色为灰色 /

background: #fff

text-align: center

/* position: fixed /

left: 0

top: 0

border-top: 1rpx solid #dedede

}

/ 左侧栏list的item /

.nav_left .nav_left_items{

background: #fff

/ 每个高30px /

height: 80rpx

/ 垂直居中 /

line-height: 80rpx

/ 再设上下padding增加高度,总高42px /

padding: 15rpx 0

/ 只设下边线 /

border-bottom: 1px solid #dedede

/ 文字14px /

font-size: 29rpx

color: #101010

font-weight:

}

/ 左侧栏list的item被选中时 /

.nav_left .nav_left_items.active{

/ 背景色变成白色*/

background: #f0f4f7

color: #ed1000

}

/ 右侧栏主盒子 /

.scroll_right{

/ 右侧盒子使用了绝对定位 /

position: fixed

top: 0

right: 0

overflow: auto

flex: 1

/ 宽度75%,高度占满,并使用百分比布局 /

width: 75%

height: 100%

padding: 20rpx

box-sizing: border-box

background-color: #f0f4f7

border-top: 1rpx solid #dedede

}

.mink::after{

display:blockcontent:''clear:both

}

.jiul,.jiul image{

width: 100%

height: 170rpx

}

.minl{

font-size: 29rpx

color: #777

text-align: left

line-height: 60rpx

float: left

background: #f0f4f7

width: 100%

/* height: 50rpx /

}

.mink{

width: 100%

background: #fff

height: 100%

}

/ 右侧栏list的item /

.nav_right_items{

/ 浮动向左 /

float: left

/ 每个item设置宽度是33.33% /

width: 50%

/ height: 160rpx /

text-align: center

color: #4a4a4a

background: #fff

}

.nav_right_items image{

/ 被图片设置宽高 /

width: 60px

height: 50px

margin-top: 15rpx

}

.nav_right_items text{

/ 给text设成块级元素 /

display: block

margin-top: 5rpx

margin-bottom: 10rpx

font-size: 26rpx

/ 设置文字溢出部分为... /

overflow: hidden

white-space: nowrap

text-overflow: ellipsis

}

/ * 自定义其他点击态样式类 **/

.other-navigator-hover{

background:#fff

}

.scroll_left{

width:25%

height:100%

background:#fff

text-align:center

position: fixed

left: 0top: 0

}

多级联动菜单在许多的筛选场景应用十分广泛。

先看看效果图:

menu.wxml

menu.wxss

menu.jsp

menu.wxss

menu.js

menu.wxml

menu.wxss

menu.js

这里主要针对一个菜单栏进行详细讲解,其余两个原理相同。

游戏

menu.wxml

这里推荐大家使用 <scroll-view></scroll-view> 组件,这样超过限定的高度的话,就可以在内部产生滚动条,整体布局不会乱。使用 <scroll></scroll> 组件的时候,记得要开启滚动的方向(scroll-y表示纵向,scroll-x表示横向),这些属性默认是关闭的。

menu.wxss

注意:使用竖向滚动时,需敬滑指要给<scroll-view/>一个固亮配定高度,通过 WXSS 设置 height。

menu.js

menu.js部分主要的难点就是wxml和让滚js之间的数据交互,这里很容易弄晕,尤其是对自己定义的变量弄清楚是什么意思。在这里我画了一个示意图来讲解这个难点。

最后给大家提供该项目的github项目,直接抓下来就可以打开使用,只需对显示的数据进行修改即可。

效果展示

通过使用循环容器的滚动监听和设置值森辩派,同时配置前置条件实现滚动到具体某一项,实现顶部图片滑动联动底部图片滑动效果。

创建数据表

注意:在数据中心你可以创建属于自己应用程序的数据表格,数据表格类型分为用户表、商品表、订单表和自定义表。

点击数据中心。

创建数据表:轮播图。

字段包含:图片。

点击数据中心。

创建数据表:联动图

字段包含:图片(多图类型)。

创建事件

注意:事件是构建数据与界面元素组件链接的抽象逻辑。数据表与界面元素组件通过事件连接。

点击事件中心。

创建事件。

点击事件中心。

创建事件。

触发器此贺配置

注意:在检查器面板中的触发器设置面板创建触灶手发器,可以对组件进行交互逻辑设置,或配合事件来进行动态数据 *** 作。

选中循环容器。

点击检查面板中的触发器面板。

创建触发器:设置值。

创建触发器:查询轮播图。

选中循环容器。

点击检查面板中的触发器面板。

创建触发行为是滚动到指定项,名称分别为0, 1, 2。

分别增加执行触发器的前置条件。

创建触发器:获取联动图

选中循环容器。

点击检查面板中的触发器面板。

创建触发器:call,执行其它触发器。

创建触发器:scroling,触发行为是项目序号滚动变化。

绑定数据

注意:绑定数据可以将事件返回的数据和组件显示内容进行绑定。

选中循环容器的列表条目。

点击检查面板中的数据绑定与设置。

绑定数据。

选中循环容器。

点击检查面板中的数据绑定与设置。

开启滚动对其开关。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12562710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存