android和苹果解决输入法显示时效果问题

/**
* 将元素的单位改为px
* @param param 所选元素
*/
function setPX(param) {
if (param.css('width') != '0px') {
param.css('width', param.css('width'));
}
if (param.css('height') != '0px') {
param.css('height', param.css('height'));
}
if (param.css('left') != 'auto') {
param.css('left', param.css('left'));
}
if (param.css('right') != 'auto') {
param.css('right', param.css('right'));
}
if (param.css('top') != 'auto') {
param.css('top', param.css('top'));
}
if (param.css('bottom') != 'auto') {
param.css('bottom', param.css('bottom'));
}
}

/**
* 输入框页面将单位换成px,输入法显示时页面上移
*/
function inputPageInit() {
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
//安卓手机
//循环遍历将第六页的单位改为px
setPX($('body').find('.page6'));
for (var i = 0; i < $('body').find('.page6').find('*').length; i++) {
setPX($('body').find('.page6').find('*').eq(i));
}

var height = document.documentElement.clientHeight || document.body.clientHeight;
//窗口大小发生变化时
$(window).resize(function () {
var resizeHeight = document.documentElement.clientHeight || document.body.clientHeight;
if (resizeHeight < height) {
$('.page6').css('top', '-120px');
} else {
$('.page6').css('top', '0');
}
});
}else{
//ios
document.body.addEventListener('focusin',function () {
$('.page6').css('top', '-15vh');
});
document.body.addEventListener('focusout',function () {
$('html,body').animate({scrollTop:0}, 1000);
$('.page6').css('top', '0');
});
}
}
posted @ 2019-02-15 11:53  小熊叶叶  阅读(230)  评论(0)    收藏  举报