微信小程序中不能直接操作window对象,document文档,跟html的树结构不相同。

实现类似导航的隐藏显示,如图效果:
点击网络显示或隐藏网络中包含的内容。其他类似。
如果是jquery很方便实现,能直接操作document。在微信小程序中实现思路是:在逻辑层定义变量,通过setData赋值。
方法一:通过变量直接赋值,给每一个要控制显示的view定义变量
.wxml 代码:
<!--index.wxml-->
<view class="navView" bindtap="tigger" data-num="1">视图容器</view>
<view class="classname" hidden="{{view1}}">
<button bindtap="opentype" data-type="view">view</button>
<button bindtap="opentype" data-type="movable">movable</button>
</view>
<view class="navView" bindtap="tigger" data-num="2">基础内容</view>
<view class="classname" hidden="{{view2}}">
<button bindtap="opentype" data-type="icon">icon</button>
<button bindtap="opentype" data-type="text">text</button>
<button bindtap="opentype" data-type="progress">progress</button>
</view>
<view class="navView" bindtap="tigger" data-num="3">表单组件</view>
<view class="classname" hidden="{{view3}}">
<button bindtap="opentype" data-type="button">button</button>
<button bindtap="opentype" data-type="checkbox">checkbox</button>
<button bindtap="opentype" data-type="form">form</button>
<button bindtap="opentype" data-type="input">input</button>
<button bindtap="opentype" data-type="label">label</button>
<button bindtap="opentype" data-type="picker">picker</button>
<button bindtap="opentype" data-type="textarea">textarea</button>
</view>
.js对应代码:
data: {
view1: true,
view2: true,
view3: true
},
opentype: function (e) {
var url = e.currentTarget.dataset.type
url = url + '/' + url
wx.navigateTo({
url: url
})
},
tigger: function (e) {
var num = e.currentTarget.dataset.num
if (num == 1) {
this.setData({
view1: !this.data.view1
})
} else if (num == 2) {
this.setData({
view2: !this.data.view2
})
} else if (num == 3) {
this.setData({
view3: !this.data.view3
})
}
}
通过data-num="1" 这中传值方式,设置对应的view1的值。
这种方法能够实现效果,但是在添加了新的view之后需要修改js代码,所以不是最优的方法。
方法二:
.wxml 代码:
<!--index.wxml-->
<view class="navView" bindtap="tigger" data-num="0">网络</view>
<view class="classname" hidden="{{showArr[0]}}">
<button bindtap="opentype" data-url="network/request/request">request</button>
</view>
<view class="navView" bindtap="tigger" data-num="1">上传、下载</view>
<view class="classname" hidden="{{showArr[1]}}">
<button bindtap="opentype" data-url="uploadFile">uploadFile</button>
<button bindtap="opentype" data-url="downloadFile">downloadFile</button>
</view>
<view class="navView" bindtap="tigger" data-num="2">WebSocket</view>
<view class="classname" hidden="{{showArr[2]}}">
<button bindtap="opentype" data-url="connectSocket">connectSocket</button>
<button bindtap="opentype" data-url="downloadFile">OnSocketOpen</button>
</view>
<view class="navView" bindtap="tigger" data-num="3">媒体</view>
<view class="classname" hidden="{{showArr[3]}}">
<button bindtap="opentype" data-url="uploadFile">图片</button>
<button bindtap="opentype" data-url="downloadFile">录音</button>
</view>
.js对应代码:
// index.js
var statusArrs = [false]
Page({
/**
* 页面的初始数据
*/
data: {
showArr: statusArrs
},
opentype: function (e) {
var url = e.currentTarget.dataset.url
url = '../' + url
wx.navigateTo({
url: url
})
},
//显示隐藏
tigger: function (e) {
var that = this;
var num = e.currentTarget.dataset.num
statusArrs[num] = !statusArrs[num]
that.setData({
showArr: statusArrs
})
}
})
方法二这种方式就简单实现了不修改js代码,添加了新的view也能控制隐藏显示。
以上所述是小编给大家介绍的微信小程序自定义导航隐藏和显示功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# 微信小程序自定义导航
# 微信小程序隐藏导航
# 微信小程序控制view隐藏显示的5种方法汇总
# uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
# 微信小程序之滑动页面隐藏和显示组件功能的实现代码
# 微信小程序实现动态显示和隐藏某个控件功能示例
# 微信小程序之多列表的显示和隐藏功能【附源码】
# 微信小程序实践之动态控制组件的显示/隐藏功能
# 微信小程序 实现动态显示和隐藏某个控件
# 微信小程序中视频的显示与隐藏功能
# 小编
# 在此
# 也能
# 给大家
# 自定义
# 如图
# 表单
# 很方便
# 所述
# 最优
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# 实现了
# 中传
# 上传
# 文档
# 但是在
# 这种方法
相关文章:
网站设计制作企业有哪些,抖音官网主页怎么设置?
建站之星如何保障用户数据免受黑客入侵?
网站制作报价单模板图片,小松挖机官方网站报价?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
如何高效完成自助建站业务培训?
小型网站制作HTML,*游戏网站怎么搭建?
如何快速搭建FTP站点实现文件共享?
宁波自助建站系统如何快速打造专业企业网站?
大连 网站制作,大连天途有线官网?
企业微网站怎么做,公司网站和公众号有什么区别?
宁波免费建站如何选择可靠模板与平台?
如何通过免费商城建站系统源码自定义网站主题与功能?
如何在景安服务器上快速搭建个人网站?
建站主机功能解析:服务器选择与快速搭建指南
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
如何在阿里云香港服务器快速搭建网站?
北京制作网站的公司,北京铁路集团官方网站?
如何在腾讯云服务器快速搭建个人网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
宝塔新建站点报错如何解决?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何选择PHP开源工具快速搭建网站?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
定制建站方案优化指南:企业官网开发与建站费用解析
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
公司门户网站制作流程,华为官网怎么做?
javascript中对象的定义、使用以及对象和原型链操作小结
建站之星安装失败:服务器环境不兼容?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
湖北网站制作公司有哪些,湖北清能集团官网?
Swift开发中switch语句值绑定模式
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
如何在服务器上三步完成建站并提升流量?
c# 在ASP.NET Core中管理和取消后台任务
七夕网站制作视频,七夕大促活动怎么报名?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
如何在Windows虚拟主机上快速搭建网站?
深入理解Android中的xmlns:tools属性
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
制作网站怎么制作,*游戏网站怎么搭建?
Python文件管理规范_工程实践说明【指导】
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
安云自助建站系统如何快速提升SEO排名?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
*请认真填写需求信息,我们会在24小时内与您取得联系。