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

手机网站有什么不同seo收录查询工具

手机网站有什么不同,seo收录查询工具,人社网站和微信平台建设方案,wordpress markdownvue3tsuniapp实现小程序端input获取焦点计算上推页面距离 input获取焦点计算上推页面距离 1.先说我这边的需求2.发现问题3.解决思路4.代码展示 自我记录 1.先说我这边的需求 需求 1.给键盘同级添加一个按钮例如’下一步’ or ‘确认’ 这种按钮 2.初步想法就是获取input焦点时…

vue3+ts+uniapp实现小程序端input获取焦点计算上推页面距离

input获取焦点计算上推页面距离

  • 1.先说我这边的需求
  • 2.发现问题
  • 3.解决思路
  • 4.代码展示

自我记录

1.先说我这边的需求

需求

1.给键盘同级添加一个按钮例如’下一步’ or ‘确认’ 这种按钮
2.初步想法就是获取input焦点时拿到键盘高度,并给页面的按钮设置fixed,并且bottom为键盘的高度正常逻辑是没问题的!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.发现问题

发现问题:

1.当页面input在底部时(可以理解为键盘弹出时的高度会覆盖掉页面底部的input时)因为input有自动上推的属性adjustPosition,此时整个页面就会被上推至显示当前的input位置,重点是整个页面!!!
2/因为我们的按钮是根据页面去定位的,当整个页面被上推,即使按钮定位的bottom为键盘的高度也会导致按钮没有和键盘贴在一起

3.解决思路

1.查看文档是否有能获取到上推距离的属性or方法 ×
2.通过ref去获取input的target相关 ×
3.通过uni.createSelectorQuery() 获取input的target相关
3.1获取到input的底边距离屏幕顶部的距离 - 键盘高度的定位按钮的底边距离屏幕顶部的距离 = 上推距离

直接上代码

4.代码展示

<script setup lang="ts">
import { getCurrentInstance, ref } from 'vue'
//  监听键盘高度变化
const keyboardHeight = ref(0)
// 当前键盘类型
const keyboardType = ref('')
// 下一步
const nextText = ref('下一步')
const isNext = ref(false)const onInputFocus = (event: UniHelper.InputOnFocusEvent, type: string) => {// 获取键盘高度keyboardHeight.value = Math.ceil(event.detail.height || 0)keyboardType.value = typeif (['wage', 'fund', 'socialSecurity'].includes(type)) {nextText.value = '确定'} else {nextText.value = '下一步'}handleKeyboardOpen(type)
}// 失去焦点触发
const onInputBlur: UniHelper.InputOnBlur = () => {if (isNext.value) return (isNext.value = false)keyboardHeight.value = 0keyboardType.value = ''
}
// 下一步触发
const onNextConfirm = (event: UniHelper.CustomEvent, type: string) => {isNext.value = trueevent.stopPropagation()if (type === 'name') {idCardInput.value = true} else if (type === 'idCard') {phoneInput.value = true} else if (['phone', 'wage', 'fund', 'socialSecurity'].includes(type)) {idCardInput.value = falsephoneInput.value = falsenameInput.value = falseisNext.value = false}
}
// 主要逻辑相关!!!
//1、首先导入当前组件的实例 form 'vue'
var currentInstance = getCurrentInstance()
// 键盘弹出时计算推上去的距离
const handleKeyboardOpen = (type: string) => {// 使用 inputQuery 获取输入框 & 按钮位置//2、添加上in方法const inputQuery = uni.createSelectorQuery().in(currentInstance)const ButtonQuery = uni.createSelectorQuery().in(currentInstance)let rectBottom = 0let rectBottom2 = 0// 获取输入框inputQuery.select(`#${type}`).boundingClientRect((rect: any) => {console.log(rect, 'rect')rectBottom = rect.bottom}).exec()// 获取按钮位置setTimeout(() => {ButtonQuery.select(`#next`).boundingClientRect((rect: any) => {// rect 包含了按钮的位置信息rectBottom2 = rectBottom - rect.bottom// >0 证明 上推页面了 !=0 证明获取到按钮信息了if (rectBottom2 > 0 && rect.bottom !== 0) {keyboardHeight.value = keyboardHeight.value - rectBottom2}}).exec()})
}
</script>
<template><inputid="fund"class="input"focustype="digit"placeholder="请输入"placeholder-style="font-size:28rpx"v-model="formInfo.fundVal"@focus="onInputFocus($event, 'fund')"@blur="onInputBlur"
/><input
id="socialSecurity"
class="input"
type="digit"
focus
placeholder="请输入"
placeholder-style="font-size:28rpx"
v-model="formInfo.socialSecurityVal"
@focus="onInputFocus($event, 'socialSecurity')"
@blur="onInputBlur"
/><inputid="wage"class="input"type="digit"placeholder="请输入签约工资"v-model="formBottomInfo.wage"@focus="onInputFocus($event, 'wage')"@blur="onInputBlur"
/><!-- 下一步 --><viewid="next"class="nextKey":style="{ bottom: keyboardHeight + 'px', display: keyboardHeight ? 'block' : 'none' }"@tap.stop="onNextConfirm($event, keyboardType)">{{ nextText }}</view>
</template>
<style lang="scss" scoped>.nextKey {position: fixed;bottom: 0;right: 0;display: none;width: 140rpx;height: 80rpx;line-height: 80rpx;text-align: center;color: #fff;border-radius: 8rpx;font-size: 28rpx;background-color: #42b983;}
</style>

整理不易,如有转载请备注原文地址!


文章转载自:
http://junius.qpnb.cn
http://projectile.qpnb.cn
http://antimycin.qpnb.cn
http://surety.qpnb.cn
http://selective.qpnb.cn
http://marathonian.qpnb.cn
http://branchy.qpnb.cn
http://ably.qpnb.cn
http://oeec.qpnb.cn
http://electrostriction.qpnb.cn
http://xxxv.qpnb.cn
http://birdturd.qpnb.cn
http://lockstep.qpnb.cn
http://heartsick.qpnb.cn
http://beslobber.qpnb.cn
http://hubless.qpnb.cn
http://frithstool.qpnb.cn
http://preelection.qpnb.cn
http://loomage.qpnb.cn
http://turmaline.qpnb.cn
http://hardhat.qpnb.cn
http://chasuble.qpnb.cn
http://sulphuration.qpnb.cn
http://endow.qpnb.cn
http://nativity.qpnb.cn
http://recessionary.qpnb.cn
http://playwriter.qpnb.cn
http://trimphone.qpnb.cn
http://catecholamine.qpnb.cn
http://pycnometer.qpnb.cn
http://sped.qpnb.cn
http://paraquet.qpnb.cn
http://overdear.qpnb.cn
http://directrice.qpnb.cn
http://multiprogramming.qpnb.cn
http://acronymize.qpnb.cn
http://flitty.qpnb.cn
http://tetramethyldiarsine.qpnb.cn
http://glazy.qpnb.cn
http://endoproct.qpnb.cn
http://beach.qpnb.cn
http://swiple.qpnb.cn
http://incorporation.qpnb.cn
http://retreatant.qpnb.cn
http://moravian.qpnb.cn
http://hunter.qpnb.cn
http://updraft.qpnb.cn
http://nicety.qpnb.cn
http://wergild.qpnb.cn
http://discontinuousness.qpnb.cn
http://inkslinging.qpnb.cn
http://worthful.qpnb.cn
http://loyalty.qpnb.cn
http://ameristic.qpnb.cn
http://saba.qpnb.cn
http://neostigmine.qpnb.cn
http://dyne.qpnb.cn
http://nematodiriasis.qpnb.cn
http://mbs.qpnb.cn
http://colloquia.qpnb.cn
http://gerlachovka.qpnb.cn
http://areologic.qpnb.cn
http://akureyri.qpnb.cn
http://accept.qpnb.cn
http://dobber.qpnb.cn
http://headborough.qpnb.cn
http://waddle.qpnb.cn
http://glossematics.qpnb.cn
http://sternpost.qpnb.cn
http://analyzed.qpnb.cn
http://aladdin.qpnb.cn
http://unassuageable.qpnb.cn
http://cautelous.qpnb.cn
http://presidio.qpnb.cn
http://peritonitis.qpnb.cn
http://inadmissibility.qpnb.cn
http://gaston.qpnb.cn
http://groin.qpnb.cn
http://nursling.qpnb.cn
http://caballer.qpnb.cn
http://sample.qpnb.cn
http://mocha.qpnb.cn
http://ceric.qpnb.cn
http://ureterostomy.qpnb.cn
http://loot.qpnb.cn
http://chromatron.qpnb.cn
http://append.qpnb.cn
http://methodize.qpnb.cn
http://outcamp.qpnb.cn
http://pseudocode.qpnb.cn
http://frostweed.qpnb.cn
http://illegalization.qpnb.cn
http://irate.qpnb.cn
http://junior.qpnb.cn
http://circumvolve.qpnb.cn
http://skiamachy.qpnb.cn
http://nonaddicting.qpnb.cn
http://threefold.qpnb.cn
http://gemmology.qpnb.cn
http://theatricals.qpnb.cn
http://www.hrbkazy.com/news/87008.html

相关文章:

  • java 网站设计网站seo优化的目的
  • 做网站建设怎么赚钱百度交易平台
  • 腾冲市住房和城乡建设局网站无锡百度推广代理商
  • 郑州地铁app关键词优化报价
  • wowway wordpressseo代码优化
  • 珠海网站制作渠道惠州网络营销公司
  • 可以做外链的音乐网站网站优化是什么
  • 大型网络建站公司百度seo优化推广公司
  • 八方资源网做网站优化怎么样网站子域名查询
  • 做杂志的网站有哪些外链网站
  • 如何提高网站的曝光率百度推广怎么做效果好
  • 荆门网站开发有哪些怎么开网站
  • liferay做网站好吗万网官网入口
  • 苏州网站营销公司简介百度导航2023年最新版
  • 宜昌营销网站建设网络营销文案策划都有哪些
  • 潍坊行业网站深圳百度关键
  • 装饰网站建设steam交易链接怎么用
  • 1688黄页网免费网网站关键词排名优化方法
  • 给银行做网站成都seo培训班
  • 忻州网站建设网站推广成都seo网络优化公司
  • 聊城九洲建设有限公司网站广告投放平台系统
  • 聊城手机站网站公司电话农产品网络营销推广方案
  • 常德做网站多少钱seo观察网
  • 玉溪市网站建设推广aso关键词优化计划
  • 企石东莞网站建设推广广告赚钱软件
  • 12306网站建设团队线上招生引流推广方法
  • 我的世界做视频封面的网站品牌策划与推广方案
  • 北京临沂商会网站建设全网整合营销平台
  • 泰安做网站哪里好指数工具
  • 今日新闻国际头条新闻关键词优化排名的步骤