当前位置: 首页 > news >正文

天河区疫情最新消息旺道seo工具

天河区疫情最新消息,旺道seo工具,wordpress多语言,深圳的网站建设公司排名效果展示 键盘未弹起时 键盘弹起后: 实现方式 话就不多说了 我直接贴代码了 原理就是用你点击的输入框的底部 距离顶部的位置 减去屏幕高度除以2,然后设成负值,再将这个值给到最外层相对定位的盒子的top属性,这样就不会出现顶…

效果展示

键盘未弹起时
在这里插入图片描述
键盘弹起后:
在这里插入图片描述

实现方式

话就不多说了 我直接贴代码了
原理就是用你点击的输入框的底部 距离顶部的位置 减去屏幕高度除以2,然后设成负值,再将这个值给到最外层相对定位的盒子的top属性,这样就不会出现顶部导航上移的问题了具体实现如下:

首先封装一个js工具包,这个包其实有很多东西的,但是对键盘没什么用,我就去掉了,是一个设备工具类,没事的话可以去研究,设备工具类在开发的过程中还是用处比较大的。

工具类实现


/*** 设备工具类*/
class DeviceUtil {/*** 获取当前环境  开发工具  安卓  IOS* 'ios': iOS微信(包含 iPhone、iPad);'android': Android微信;'windows': Windows微信;'mac': macOS微信;'devtools': 微信开发者工具;*/getCurrentEnv() {var platform = '';wx.getSystemInfo({success(res) {platform = res.platform}})console.log(platform);return platform;}/*** 获取设备的屏幕高度*/getDeviceHeight() {var screenHeight = '';wx.getSystemInfo({success: (res) => {screenHeight = res.windowHeight}});return screenHeight;}/*** 监听点击输入框页面弹起事件* 使用说明:* 该方法对IOS上的 <vant-field type="textarea" /> 会有显示不全的问题 不建议在textarea上使用* * @param {当前页面指向} that * @param {点击事件参数} e */keyboard(that, e) {// 获取屏幕高度var height = this.getDeviceHeight();// 仅在手机上使用此函数if (this.getCurrentEnv() == 'android' || this.getCurrentEnv() == 'ios') {that.setData({keyboard: 0})// 创建一个选择器查询对象const query = wx.createSelectorQuery();// 选择要获取的元素query.select('#' + e.currentTarget.dataset.id).boundingClientRect(function (rect) {// 获取元素的位置和尺寸等信息var top = (-(rect.bottom - (height / 2))) < 0 ? (-(rect.bottom - (height / 2))) : 0that.setData({keyboard: top})}).exec();}}/*** 关闭键盘* @param {*} that */closeKeyboard(that) {if (this.getCurrentEnv() == 'android' || this.getCurrentEnv() == 'ios') {that.setData({keyboard: 0})}}}const deviceUtil = new DeviceUtil();
export default deviceUtil;

WXML中为元素添加属性

紧接着在wxml文件中需要给vant-field标签添加一些属性,input标签也相同

<view class="form_warp" style="top: {{keyboard}}px;">
<van-fieldid="name1"data-id="name1"bind:focus="onFocus"bind:blur="onBlur"always-embedvalue="{{ value }}"label="用户名1"placeholder="请输入用户名1"adjust-position="{{false}}"border="{{ false }}"/></view>

注意 :id 和data-id名称必须一致并且在当前页面唯一,不然会出现问题 always-embed是因为vant在IOS上会出现一个定位后不同层的问题,推荐加上;adjust-position="{{false}}"这个属性是必须加上的,他是键盘弹起时页面上移,顶部栏被顶上去的罪魁祸首。
不要忘记在最外层的盒子上添加这个属性style="top: {{keyboard}}px;"

WXSS

.form_warp {padding: 30rpx;position: relative;
}

JS中实现

紧接着在js中使用工具包

import deviceUtil from '../../util/device-utils';
Page({/*** 页面的初始数据*/data: {// 键盘弹起上移距离keyboard: 0,},onFocus(e) {//  键盘处理deviceUtil.keyboard(this, e)},onBlur() {deviceUtil.closeKeyboard(this)},
})

就这么简单, 其实也可以直接去用键盘高度来计算,这种方式其实是保证在键盘弹起的时候foucs事件的输入框会被展示在手机屏幕中间靠上的位置,而一般的键盘高度不会高于手机屏幕的一半,如果追求细节的话可以去改改那个计算公式就可以。

http://www.ds6.com.cn/news/65998.html

相关文章:

  • 桐城市美好乡村建设办公室网站windows优化大师怎么卸载
  • 做网站租用服务器济南seo
  • 北京协会网站建设如何提高网站的自然排名
  • 上海网站开发企业最好的网络推广方式
  • 杭州制作网站的公司简介百度移动端排名
  • 做任务的网站有那些营销策划方案
  • 在线做mtv网站优秀营销软文范例500字
  • 移动网站建设自助建站网络营销推广培训机构
  • 网站提示域名解析错误怎么办广州seo效果
  • 网站建设服务便宜小红书seo排名优化
  • java做的网站怎么调试推广代理登录页面
  • 电子商务网站建设和管理手机优化大师怎么退款
  • 青岛英文网站建设怎么在百度发布免费广告
  • 网站怎么做成软件如何做网络推广人员
  • 商城网站是怎么做的怎么宣传自己的店铺
  • 个人类网站类网站湖南seo快速排名
  • 网站建设的缺点株洲网络推广
  • 切实加强门户网站建设推广一手渠道
  • 研磨 东莞网站建设宣传软文怎么写
  • 个人做网站创业推广app下载
  • 天元建设集团有限公司标志昆明百度关键词优化
  • 中英文网站英文株洲seo优化首选
  • 建设网站如何写文案国际局势最新消息今天
  • 打字网站怎么做厦门seo专业培训学校
  • 高性能网站建设指南 百度云手机网站快速建站
  • 服务 信誉好的网站制作营销推广文案
  • 网站资讯如何做全国疫情高峰感染进度查询
  • WordPress备案号链接网站seo基本流程
  • 东莞 外贸网站建设网站服务器失去响应
  • wordpress产品页路径在哪儿seo常用工具包括