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


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解密入门之凭直觉解
Jun 25 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
JS嵌套函数调用上下文的问题解决
Mar 26 Javascript
js中日期的加减法
May 06 Javascript
JavaScript编程学习技巧汇总
Feb 21 Javascript
Bootstrap table简单使用总结
Feb 15 Javascript
使用ionic播放轮询广告的实现方法(必看)
Apr 24 Javascript
js图片上传的封装代码
Aug 01 Javascript
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
使用JS模拟锚点跳转的实例
Feb 01 Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 Javascript
typescript编写微信小程序创建项目的方法
Jan 29 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查询搜索引擎排名位置的代码
2010/01/05 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
PHP多进程简单实例小结
2019/11/09 PHP
js中typeof的用法汇总
2013/12/12 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
python线程池的实现实例
2013/11/18 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
python脚本内运行linux命令的方法
2015/07/02 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
Python循环实现n的全排列功能
2019/09/16 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
python列表推导式操作解析
2019/11/26 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
python sorted函数原理解析及练习
2020/02/10 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
急诊科护士自我鉴定
2013/10/14 职场文书
社团文化节策划书
2014/02/01 职场文书
购房意向书范本
2014/04/01 职场文书
环保标语口号
2014/06/13 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
go goth封装第三方认证库示例详解
2022/08/14 Golang