场景

  最近在IOS上遇到一个问题,当滑动到底部显示相应内容时,点击input框后内容被弹出键盘遮挡

  activeElement解决ios滚动到底部显示内容时,键盘挡住显示内容的问题

   

  预期效果如下图

  activeElement解决ios滚动到底部显示内容时,键盘挡住显示内容的问题

 

  解决方法

  使用activeElement属性,该属性返回文档中当前获得焦点的元素

  activeElement解决ios滚动到底部显示内容时,键盘挡住显示内容的问题

    上面代码把返回文档中当前获得焦点的元素赋值给变量 currentFocusEle

    然后判断该焦点元素的className如果为header-freeclass-inputfooter-freeclass-input就直接return false

 

  下面是移动端实现滚动到指定位置显示隐藏内容的完整js代码

        let header = document.getElementById('header');
        let footerfreeclass = document.getElementById('FooterFreeClass');

        let wholeScrollHeight = document.documentElement.scrollHeight, // 能滚动的总高度
            visiableHeight = document.documentElement.clientHeight, // 可视区域高度
            currentOffset = document.documentElement.scrollTop || document.body.scrollTop; // 滚动的距离
        if (currentOffset > 200) {
            header.classList.add('nav-header-change');
        } else {
            header.classList.remove('nav-header-change');
        }
        if (footerfreeclass !== undefined && footerfreeclass !== null) {
            if (currentOffset > 200 && wholeScrollHeight - currentOffset - visiableHeight > 400) {
                footerfreeclass.classList.add('footer-freeclass-block');
            } else {
                let currentFocusEle = document.activeElement;
                if (currentFocusEle.className === "header-freeclass-input footer-freeclass-input") {
                    //解决键盘弹出导致其隐藏的bug
                    return false;
                }
                footerfreeclass.classList.remove('footer-freeclass-block');
            }   
        }

 

相关文章:

  • 2021-07-09
  • 2022-12-23
  • 2021-10-22
  • 2021-06-05
  • 2021-04-05
  • 2021-12-15
  • 2022-12-23
  • 2021-08-13
猜你喜欢
  • 2021-12-16
  • 2022-12-23
  • 2021-12-24
  • 2021-09-15
  • 2022-12-23
  • 2022-12-23
  • 2022-03-03
相关资源
相似解决方案