IOS移动端,在滚动的iframe中执行某些操作(比如:隐藏删除某个div)时,会导致滚动条重新滚回屏幕顶部?

新手上路,请多包涵

1.问题

1.IOS移动端,通过overflow: auto;-webkit-overflow-scrolling:touch;虽然解决了iframe不能滚动的问题,但是为什么当在滚动的iframe中执行某些操作(比如:隐藏删除某个div)时,会导致滚动条重新滚回屏幕顶部?

2.代码

样式如下:

.mainArea {
  position: absolute;/*此处改为fixed会导致在没有overflow: auto;的情况下iframe滚不动,为什么??*/
  top: 0;
  bottom: 1.014rem;
  width: 100%;
  /*overflow: auto;*//*此处不注释,会导致iframe DOM 变化时,滑回iframe顶部,为什么??*/
  -webkit-overflow-scrolling: touch;
}
.iframeStyle{
  width: 100%;
  height: 100%;
  display: block;
}

代码结构简单,如下:

<div class='mainArea'>
    <iframe src='xxx.html' frameBorder="0" class='iframeStyle'></iframe>
</div>

3.截图

图片描述

描述:如上图,红色框圈起来的内容是引入的iframe的内容,如图的状态是iframe内容向下滚动一些内容后的状态;此时点击“砍价榜”和“帮砍榜”,会引起DOM变化,iframe内的滚动条又重新滚回顶端...顶端...

4.尝试解决的方法

阅读 5k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题