1 问题描述

mui是一款最接近原生的框架,对于会使用的人来说十分的便捷易操作,但对于像笔者这样刚入门的小白可是十分的陌生和走了太多的弯路。

对于那些不懂的前端的人,或者是一些刚入门html的人,他们可能会认为有了框架不就很快能完成一个框架了吗?其实不是这样的,一个框架他也有自己的一些东西需要去摸索和深层次的理解。也就在这几天遇到一个关于如何流畅的跳转页面的问题,看似简单易解决,可是要较好的解决它,确实有点难度。

2 问题分析

想要进行页面跳转,一开始能想象到的很简单,mui项目是封装了原生的HTML5+的API的一个框架呀,那么h5能实现的mui框架里面一定能实现撒,于是刚开始采用了href直接跳转,显然这是不行的。不断摸索,不断地走弯路,最后终于找到了,目前对于本人来说较好地方式,也就是采用mui封装的openWindow函数。

3 解决方案

首先是简单的进行页面切换实现

以下代码是利用mui的框架打出来底部标签栏框架。

该代码块呈现在手机端的页面里,仅能支持点击时和点击后的字体和图标的换色,并不会对页面进行切换。而想要实现整个页面的切换,在这个国庆里,笔者对其进行了初步的研究。初步认为有三种实现该效果的方式。

方式一之页面切换:利用a标签中的href属性直接进行跳转

利用mui进行app开发,mui是一个基于h5+的前端框架,因此使用href属性值直接进行跳转还是可以的,不过在移动端点击会出现白屏闪动的现象,对于用户的体验是极度不好,也不像一个app样子。

代码如下:

注意:mui框架屏蔽了onclick和href事件。

解决方法:绑定tab使用js跳转。

方式二之页面切换:利用a标签中的href属性间接进行跳转

第二种方式与第一种方式一样,不流畅,没有充分利用mui的特性和优点,实际用户体验度也十分不好。

方式三之页面切换:为a标签id属性赋值,进行页面跳转

第三种方式是利用mui所封装的函数进行跳转,从前两方式到第三种有明显的差距,第三种是不会出现人和闪屏和等待延迟。

以上所述,实现了一个简单的页面切换,但并没有利用webView模块管理应用窗口界面,实现多窗口的逻辑控制管理。

什么是窗口?

就如上图所示,整个软件(也就是这个图片所呈现的整体)就是一个窗口。左侧红框内的东西是固定不变的,每点击不同的选项卡,右侧红框内呈现不同的页面,也就是不同的webView,而我们通过不同的webView的切换来控制浏览不同选项卡里的内容。

因此可以将html想象成一个一个的窗口,一个html页面可以有多个webView,h5+的webView是对原生webView的封装,利用js进行调用,因此它的运行环境是app,在进行项目的调试时,也需要利用移动端进行点击,修改后重启才生效等等。

如何实现?

针对标题所述利用底部导航栏实现页面跳转的解决,我们可以采用将底部导航栏单独写入一个html内,再续写四个子页面,通过监听的方法进行调用某个子页面

4 总结

想要学好和利用好一个框架,并不能简简单单的去使用它,而更应该深层次的感受它的魅力,这才是重中之重。如果只局限于实现,这并不能提高自己的技术,反而之将自己塑造成了一个搬砖的码农。

mui实现底部导航栏页面切换相关推荐

  1. Android 底部导航栏+页面切换

    lzyprime 博客 (github) 更新时间: 2020.12.21 创建时间:2020.11.25 qq及邮箱:2383518170 kotlin & android 笔记 更新 20 ...

  2. php点击切换图片的底部导航,如何优雅地使用BottomNavigationView实现底部导航栏+fragment切换效果...

    BottomNavigationView.jpeg 引言 之前总是使用RadioButton+ViewPager来实现底部导航栏+fragment切换效果,总是繁琐地还需要写ViewPager的适配器 ...

  3. 【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )

    文章目录 一.BottomNavigationBar 底部导航栏 二.PageView 滑动页面 三.BottomNavigationBar 与 PageView 关联 四.完整代码示例 1.核心导航 ...

  4. mui实现底部导航栏

    话不多说,先来看看实现的效果. 实现效果 点击哪个选项卡,对应的选项卡就激活,其余的变为未激活状态,并且切换到对应的页面. 实现代码 mui的底部标签栏代码,可以自定义选项卡的图标和文字. <n ...

  5. html导航栏页面切换的js,js实现页面滚动切换导航栏/点击导航栏跳转到指定位置...

    最近一直在弄页面的事情,对页面方面的知识又巩固了一下.这次的内容如题,大家对代码有疑问或者是有更好的方法欢迎留言! js部分 //标题对象 var title = document.getElemen ...

  6. html底部导航栏图标切换,【微信小程序】自定义底部导航栏,切换不同页面显示不同tabbar...

    https://blog.csdn.net/small_lack/article/details/80959278 在一个微信小程序中想要用到两种不同的tabbar样式,需要在app.js中自定义,在 ...

  7. 微信小程序使用weui自定义底部导航栏,切换不同页面显示不同tabbar

    在一个微信小程序中想要用到两种不同的tabbar样式,可以使用微信小程序自带插件tabbar 首先在页面json文件中引入 tabbar {"navigationBarTitleText&q ...

  8. Flutter学习日记之底部导航栏BottomNavigationBar组件的使用

    本文地址:https://blog.csdn.net/qq_40785165/article/details/116953235,转载需附上此地址 大家好,我是小黑,一个还没秃头的程序员~~~ 空袋子 ...

  9. Android studio实现底部导航,AndroidStudio制作底部导航栏以及用Fragment实现切换功能...

    前言 大家好,我是 Vic,今天给大家带来AndroidStudio制作底部导航栏以及用Fragment实现切换功能的概述,希望你们喜欢 学习目标 AndroidStudio制作底部导航栏以及用Fra ...

最新文章

  1. 有人从英伟达借了台DGX A100,让神经网络自己造了个GTA5自己玩
  2. Java学习之动态代理
  3. oracle使用max提升效率,Oracle调优之利用max与leftjoin来进行不同表之间匹配
  4. Spring 4.1和Java 8:java.util.Optional
  5. [python3] pyton socket 同步通信举例
  6. linux的oracle修改实例名SID
  7. 12) 十分钟学会android--APP通信传递消息之简单数据传输
  8. 在Ubuntu上安装Jupyter Notebook
  9. 【转载】C#中回滚TransactionScope的使用方法和原理
  10. 现在最流行哪款有linux系统,哪一个Linux发行版最流行?
  11. python学习:删除空白
  12. 天正cad计算机快捷键,CAD、天正快捷键(专用)
  13. 检测UDP端口是否畅通方法
  14. javascript从入门到跑路-----小文的js学习笔记(11)--------字符串以及字符串的常见方法!
  15. QT-ico图片的生成
  16. php 打开ppt,怎么播放ppt
  17. fedora14安装出错
  18. php去除前后空格函数,php去除前后空格的实现方法
  19. 【学习笔记】APP性能---使用Perfdog测试APP和小程序的性能
  20. MySQL front 导入导出数据库时出错问题

热门文章

  1. LeetCode 904. 水果成篮
  2. 世间安得双全法,不负如来不负卿。
  3. 大数据面试题(一)----HADOOP 面试题
  4. mdk5(keil 5) 中间库emwin 图形库移植
  5. 【转载】一个程序猿必须会玩的游戏
  6. 目前国内几大著名报表软件
  7. MYSQL中日期加减(前一天、后一天等)以及格式化的函数
  8. 【滤波估计】基于双卡尔曼滤波实现soc和soh联合估计附matlab代码
  9. 对你影响最深的计算机书籍是哪一本?
  10. 哪个直播平台更适合做企业会议直播?