h5页面在ios上无法滑动与z-index无效的情况

ps:俩问题产生的原因是引用了scroll.js文件

问题一:无法滑动

scroll.js文件禁用了滑动事件,在不需要scroll方法的时候,解除禁用即可。

      /***滑动限制***/
      stop(){
        var mo=function(e){e.preventDefault();};
        document.body.style.overflow='hidden';
        document.addEventListener("touchmove",mo,false);//禁止页面滑动
      },
      /***取消滑动限制***/
      move(){
        var mo=function(e){e.preventDefault();};
        document.body.style.overflow='';//出现滚动条
        document.removeEventListener("touchmove",mo,false);
      }
      

问题二:z-index失效问题

罪魁祸首就是它=====>iOS的弹性滑动属性-webkit-overflow-scrolling: touch会导致z-index属性失效

scroll.js这个插件的样式中,给body加了这个属性,会导致z-index无效,被这个问题卡了好久。。。

将这个属性更改一下就可以解决z-index失效的问题

解决方法二:

1.在android上,如果对元素同时设置zindex和transform translateZ的值时,在显示上zindex的优先级要高于translateZ

2.在ios上,则相反,translateZ的优先级要高于zindex 3.所以最好在设置一系列元素时,zindex的值和translateZ的值应该一起逐级增长或逐级减少

-webkit-transform:translateZ(1px);
-moz-transform:translateZ(1px);
-o-transform:translateZ(1px);
transform:translateZ(1px);

 

posted @ 2022-10-19 15:16  前进中的蜗牛  阅读(365)  评论(0编辑  收藏  举报