上下文:
问题:当在iframe内部提供时,固定位置Div似乎没有相对于整个网页保持其固定位置。意思是,当有人滚动时,固定的div不再真正保持固定。
有没有解决办法?
答案 0 :(得分:0)
除非您也可以访问托管页面,否则无法执行此操作。
编辑:鉴于您可以控制托管页面这一事实,它有点可能,但不会轻松或漂亮:/。
必须通过托管页面上的fixed
定位元素,现在我只能想到两个变体:
position: fixed
样式),另一个包含其他内容。同样,您的脚本将创建两个iframe而不是一个。答案 1 :(得分:0)
除了从外框动态设置 onScroll 的位置外,我没有看到其他解决方案,如下所示:
$(() => {
$('#contentframe').ready(() => {
const topElem = $("#top", frames['contentframe'].document);
const topElemTopPos = topElem.offset().top;
$(window).on('scroll', () => {
const scrollFromTop = $(document).scrollTop();
topElem.css({ top: (scrollFromTop + topElemTopPos) + "px" });
});
});
});