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


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 相关文章推荐
用js怎么把&amp;字符换成&quot;&amp;amp:&quot;
Oct 19 Javascript
asp.net下利用js实现返回上一页的实现方法小集
Nov 24 Javascript
基于jquery的direction图片渐变动画效果
May 24 Javascript
静态页面html中跳转传值的JS处理技巧
Jun 22 Javascript
简单的JS轮播图代码
Jul 18 Javascript
JS简单判断函数是否存在的方法
Feb 13 Javascript
Webpack框架核心概念(知识点整理)
Dec 22 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
Nov 14 Javascript
JavaScript基础之this和箭头函数详析
Sep 05 Javascript
vue 调用 RESTful风格接口操作
Aug 11 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
PHP中的self关键字详解
2019/06/23 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
JavaScript实现左侧菜单效果
2017/12/14 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
python语音识别实践之百度语音API
2018/08/30 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
基于Python实现扑克牌面试题
2019/12/11 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
苹果香港官方商城:Apple香港
2016/09/14 全球购物
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
简单说下OSPF的操作过程
2014/08/13 面试题
电气技术员岗位职责
2013/11/19 职场文书
安全资金保障制度
2014/01/23 职场文书
教师党性分析材料
2014/02/04 职场文书
捐款倡议书
2014/04/14 职场文书
环保建议书200字
2014/05/14 职场文书
工程售后服务承诺书
2014/05/21 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
2015年秋季新学期寄语
2015/03/25 职场文书
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers