fixed在ios中兼容的问题最近连续两个不同的需求遇见了,总结一下解决办法:
1:需求是页面底部有一个select框(input同理)弹起键盘,然后收起界面就上移(如下图)
解决方案:市面上的解决方案要么很复杂,要么会有其他问题,在尝试中发现了最简单的办法,就是在收起键盘的时候让他的滚动条回到顶部或者底部
main{
position: absolute;
top:0;
left:0;
right:0;
overflow-y: auto;
height:100%;
-webkit-overflow-scrolling: touch;
}
footer{
height:50px;
background: #f00;
position:fixed;
left:0;
right:0;
bottom:0;
}
$("select").blur(function(){
$(window).scrollTop(0);
});
2:第二个需求就是弹窗出来的文本框(input等)弹起键盘底部文本框被键盘遮挡显示不出来
解决方案:核心思路还是控制一下滚动条
// 解决input获取焦点键盘遮挡
$('input,textarea').focus(function() {
var Height = document.body.clientHeight;
$(".popup-box").css({"position":"absolute","height":Height});
$(window).scrollTop(Height / 3);
}).blur(function(){
$(".popup-box").css({"position":"fixed","height":"auto"});
});