小程序根据手机机型设置自定义底部导航距离


Posted in Javascript onJune 04, 2019

需求:

iponeX 以上机型,手机底部有弧度,自己写的导航栏会被遮住, 需要判断手机机型,做兼容设置.

解决:

//app.js
App({

 /**
  * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
  */
 onLaunch: function() {
  var that = this;
  //获取手机型号
  wx.getSystemInfo({
   success(res) {
    const model = res.model;
    const modelInclude = ["iPhone X", 'iPhone XR', "iPhone XS", "iPhone XS MAX"];
    var flag = false;//是否X以上机型
    for (let i = 0; i < modelInclude.length;i ++){
     //模糊判断是否是modelInclude 中的机型,因为真机上测试显示的model机型信息比较长无法一一精确匹配
     if (model.indexOf(modelInclude[i]) != -1){
      flag = true
     }
    }
    if (flag) {
     that.BOTTOM_DISTANCE = 50;
    }
   }
  })
 },

 /**
  * 当小程序启动,或从后台进入前台显示,会触发 onShow
  */
 onShow: function(options) {

 },

 /**
  * 当小程序从前台进入后台,会触发 onHide
  */
 onHide: function() {

 },

 /**
  * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
  */
 onError: function(msg) {

 },

 BOTTOM_DISTANCE:0,//iponeX底部需要抬高的距离
})

页面js

const app = getApp();

Page({

 /**
  * 页面的初始数据
  */
 data: {
  bottom: app.BOTTOM_DISTANCE//将app实例中的BOTTOM_DISTANCE转化为页面的data,即可在xml上使用
 },

 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function(options) {
 },
})

然后设置导航底部padding距离即可;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript动态插入script的基本思路及实现函数
Nov 11 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 Javascript
js removeChild 方法深入理解
Aug 16 Javascript
深入学习Bootstrap表单
Dec 13 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
React实现全局组件的Toast轻提示效果
Sep 21 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
Mar 19 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
May 30 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
js实现全选和全不选
Jul 28 Javascript
vue+elementUI实现简单日历功能
Sep 24 Javascript
js回文数的4种判断方法示例
Jun 04 #Javascript
Vue对象赋值视图不更新问题及解决方法
Jun 03 #Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
Jun 03 #Javascript
JavaScript之数组扁平化详解
Jun 03 #Javascript
JavaScript从原型到原型链深入理解
Jun 03 #Javascript
生产制造追溯系统之再说条码打印
Jun 03 #Javascript
VUE安装使用教程详解
Jun 03 #Javascript
You might like
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
php网站地图生成类示例
2014/01/13 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
Vuex提升学习篇
2018/01/11 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
JavaScript简单编程实例学习
2020/02/14 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python3解析库pyquery的深入讲解
2018/06/26 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
css3中新增的样式使用示例附效果图
2014/08/19 HTML / CSS
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
MySQL面试题目集锦
2016/04/14 面试题
自主招生自荐信指南
2014/02/04 职场文书
迟到检讨书300字
2014/02/14 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
yy司仪主持词
2014/03/22 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
银行自荐信范文
2015/03/25 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers
java版 联机五子棋游戏
2022/05/04 Java/Android