海报轮播实例
功能:两种模式,图片轮播和单列展示,可修改图片和链接,可设置图片高度和底边距
切换本质:
图片轮播模式使用sliderView,在图片轮播模式下,单列图片的container将隐藏,
同理单列图片模式下,图片轮播的container将隐藏
<ui> <view> <container> <!-- 面板设置--> <editProperty> <dataDefines> <!-- 内容模式 --> <dataDefine name="mk1_1" type="radio" description="内容模式" propertyName="内容模式" isNull="true"> <config type="sync"> <data text="图片轮播" value="1" defaultSelect="true" /> <data text="单列图片" value="2" defaultSelect="false" /> </config> </dataDefine> <!-- 轮播方式 --> <dataDefine name="mk1_3" type="radio" description="轮播方式" propertyName="轮播方式" isNull="true" refer="mk1_1:1"> <config type="sync"> <data text="自动轮播" value="1" defaultSelect="true" /> <data text="手指滑动" value="2" defaultSelect="false" /> </config> </dataDefine> <!-- 底部圆点 --> <dataDefine name="mk1_2" type="radio" description="底部圆点显示隐藏" propertyName="底部圆点显示隐藏" isNull="true" refer="mk1_1:1"> <config type="sync"> <data text="显示" value="1" defaultSelect="true" /> <data text="隐藏" value="0" defaultSelect="false" /> </config> </dataDefine> <dataDefine name="mk1_5" type="text" propertyName="单列图片间距(默认:0)" contentSize="10" isNull="true" refer="mk1_1:2"/> <!-- 高度设 --> <dataDefine name="mk1_4" type="text" description="海报高度" contentSize="20" propertyName="海报高度[设置和图片一样高度]" isNull="true" /> <!-- 图片和链接设置 --> <dataDefine name="banner_array" type="jsonArray" min="1" isNull="true" max="10" propertyName="图片设置"> <param name="mk_image" type="image" description="请输入图片url" isNull="true" width="640" propertyName="上传图片(宽640,高自定义)" /> <param name="mk_url" type="url" description="请输入跳转页面url" validateType="taokeurl||wirelessurl" isNull="true" propertyName="链接" /> </dataDefine> <!-- 底部边距 --> <dataDefine name="mk1_End_height" type="select" description="边距" propertyName="模块下边距" isNull="true"> <config type="sync"> <data text="8" value="8" defaultSelect="false" /> <data text="16" value="16" defaultSelect="true" /> <data text="24" value="24" defaultSelect="false" /> <data text="32" value="32" defaultSelect="false" /> <data text="40" value="40" defaultSelect="false" /> <data text="48" value="48" defaultSelect="false" /> <data text="56" value="56" defaultSelect="false" /> <data text="自定义下边距" value="1" defaultSelect="false" /> <data text="无" value="0" defaultSelect="false" /> </config> </dataDefine> <!-- 自定义下边距 --> <dataDefine name="mk1_End_diy_height" type="text" description="自定义下边距高度" propertyName="下边距高度" contentSize="6" isNull="true" refer="mk1_End_height:1"/> </dataDefines> </editProperty> <!--输出--> <subViews> <!--图片轮播模式使用sliderView--> <sliderView> <dataBinding> <data name="autoScrollEnabled" value="false"/> <data name="userTrack" type="json"> { "wp_app":"weapp", "wp_pk":"$wp_pk", "wp_m":"MODULE_KEY_PLACE_HOLDER" } </data> </dataBinding> <styleBinding> <attribute name="height" value="$mk1_4"/> <attribute name="width" value="640"/> <attribute name="borderWidth" value="0"/> <attribute name="isPointHide" value="false"/> </styleBinding> <conditions> <!--轮播模式:自动1/手动2--> <condition type="==" left="$mk1_3" right="1" executionType="1" ><dataBinding><data name="autoScrollEnabled" value="true"/></dataBinding></condition> <!--图片高度为空则默认648--> <condition type="==" left="$mk1_4" right="null" executionType="1"><styleBinding height="648" /></condition> <!--圆点显示隐藏--> <condition type="==" left="$mk1_2" right="0" executionType="1"><styleBinding isPointHide="true" /></condition> <!--内容模式,多图1,单图2隐藏--> <condition type="==" left="$mk1_1" right="2" executionType="1"><styleBinding invisible="true" width="0" height="0" /></condition> </conditions> <foreach start="0" step="1" > <array value="$banner_array"/> <template> <image url="$banner_array.[?].mk_image"> <styleBinding> <attribute name="height" value="360"/> <attribute name="width" value="640"/> </styleBinding> <events> <event type="click"> <actions> <userTrack utType="Image" utName="image"> <utParams> <params> <param name="wp_app" value="weapp" /> <param name="wp_pk" value="$wp_pk" /> <param name="wp_m" value="MODULE_KEY_PLACE_HOLDER" /> </params> </utParams> </userTrack> <openURL url="$banner_array.[?].mk_url"> <params> <param name="wp_app" value="weapp" /> <param name="wp_pk" value="$wp_pk" /> <param name="wp_m" value="MODULE_KEY_PLACE_HOLDER" /> </params> </openURL> </actions> </event> </events> </image> </template> </foreach> </sliderView> <!-- sliderView --> <!--单图模式使用线性布局--> <container> <styleBinding width="640" height="$mk1_4" marginTop="0" /> <conditions> <condition type="==" left="$mk1_1" right="1"><styleBinding invisible="true" width="0" height="0" /></condition> </conditions> <foreach start="0" step="1" > <array value="$banner_array"/> <template> <image url="$banner_array.[?].mk_image"> <!--高度为空则默认450,有间距则设置间距,默认间距为0--> <conditions> <condition type="==" left="$mk1_4" right="null" executionType="1"><styleBinding height="450" /></condition> <!--处理图片顶距,当前循环位置$_component_.listIndex不是第一则添加顶边距--> <andCondition> <condition type="!=" left="$mk1_5" right="null" /> <condition type="!=" left="$_component_.listIndex" right="1" /> <styleBinding marginTop="$mk1_5" /> </andCondition> </conditions> <events> <event type="click"> <actions> <userTrack utType="Image" utName="image"> <utParams> <params> <param name="wp_app" value="weapp" /> <param name="wp_pk" value="$wp_pk" /> <param name="wp_m" value="MODULE_KEY_PLACE_HOLDER" /> <param name="wp_p" value="$banner_array.[?].nid" /> </params> </utParams> </userTrack> <openURL url="$banner_array.[?].mk_url"> <params> <param name="wp_app" value="weapp" /> <param name="wp_pk" value="$wp_pk" /> <param name="wp_m" value="MODULE_KEY_PLACE_HOLDER" /> <param name="wp_p" value="$banner_array.[?].nid" /> </params> </openURL> </actions> </event> </events> </image> </template> </foreach> </container> <!--空图层做边距,底部边距默认16--> <container> <layout type="linearLayout" /> <styleBinding width="640" height="16" marginTop="0"/> <!--值9,设置下边距为自定义下边距--> <conditions> <andCondition executionType="1"> <condition type="==" left="$mk1_End_height" right="1"/> <condition type="!=" left="$mk1_End_diy_height" right="null"/> <styleBinding height="$mk1_End_diy_height" /> </andCondition> <condition type="==" left="$mk1_End_height" right="8" executionType="1"><styleBinding height="8" /></condition> <condition type="==" left="$mk1_End_height" right="24" executionType="1"><styleBinding height="24" /></condition> <condition type="==" left="$mk1_End_height" right="32" executionType="1"><styleBinding height="32" /></condition> <condition type="==" left="$mk1_End_height" right="40" executionType="1"><styleBinding height="40" /></condition> <condition type="==" left="$mk1_End_height" right="48" executionType="1"><styleBinding height="48" /></condition> <condition type="==" left="$mk1_End_height" right="56" executionType="1"><styleBinding height="56" /></condition> <condition type="==" left="$mk1_End_height" right="0" executionType="1"><styleBinding height="0" /></condition> </conditions> </container> </subViews> </container> </view> </ui>
2024还活着,挺好的,向着星辰与深渊,加油,博客园不要倒下啊!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2015-11-05 Express优化-合并路由
2015-11-05 Express重定向
2015-11-05 Express中间件
2015-11-05 express.Router创建模块化路由
2015-11-05 Express路由
2015-11-05 nodejs + express访问静态资源
2014-11-05 Photoshop CS4序列号过期的问题