移动端解决fixed和input弹出虚拟键盘时样式错位

最近在项目中遇到一个坑,移动端中一个页脚写了fixed属性,在input输入弹出虚拟键盘时,这个fixed错位了。各种搜索,各种烦后来才解决。这里和大家一起分享下。

首先说下坑,其实移动端是不建议使用fixed属性的,但是因为是填坑,不用这个属性很多东西要重写,而且正好最近也学点东西,就只要硬着头皮保留了。

下面说下思路:因为是输入的时候出现的问题,可以在输入时改变fixed属性为static,于是用到focus事件。

$('#telephone').bind("focus",function(){
   $(".div_ft").css({"position":"static","bottom":0}); 
}).bind("blur",function(){
  $(".div_ft").css("position","fixed");
});

  然后发现在屏幕翻转的时候还是不行,于是还要加入屏幕翻转监听事件。

    // 判断屏幕是否旋转
    $(window).bind("onorientationchange",function(){
        switch(window.orientation) {
            case 0:
                $('.weui-foter').css({'position':'fixed','bottom':'0'});
                break;
            case -90:
                $('.weui-foter').css({'position':'static'});
                break;
            case 90:
                $('.weui-foter').css({'position':'static'});
                break;
            case 180:
                $('.weui-foter').css({'position':'fixed','bottom':'0'});
                break;
        }
    });

  

转载于:https://www.cnblogs.com/cm1236/p/5510004.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值