本人小白,今天产品经理提了一个需求,要求一个后台的弹出框显示在视野里。
原来是top=0;需要让top=scrollTop,这样即使向下滑动了很多,弹出框也不会出去外面。
开始我把问题想复杂了。我寻思是要获取到父页面的ifame框架下的scrollTop,甚至牵扯到跨域通信,如下:
console.log(window.parent.document.body.getElementsByTagName('iframe')[0].scrollHeight );我发现怎么都是000,各种零。
晚上回家睡觉,路上同时拍脑门一想,他的一个问题解决了,想复杂了。我就想是不是我想复杂了。第二天以来,试了一下果然是复杂了。
console.log(document.documentElement.scrollTop||document.body.scrollTop);在子页面直接调用这个就可以获得到这个scrollTop,也就是说,iframe出来的滚动条,并不是父页面iframe元素的滚动条,而是子页面document的滚动条。
恍然大悟,有时候不要把问题,想的过于复杂。