所以我有一张svg#cta-scroll
图片,是div#main
的孩子。每当我尝试获取offsetTop
的{{1}}(或任何其他类型的偏移量)时,它总会返回svg
(Chrome,OS X)。
undefined
(function hideCtaWelcomeOnScroll() {
var ctaWelcomeElement = document.getElementById('cta-scroll');
var initialCtaWelcomeOffset = ctaWelcomeElement.offsetTop;
})();
此处始终返回initialCtaWelcomeOffset
。
有没有人知道可能会发生什么?
编辑:我认为它不会有多大帮助,但这里是undefined
的CSS:
svg
在绝望的行为中,我尝试删除动画和定位,但它并没有改变一件事......
答案 0 :(得分:3)
由于SVG元素不支持offsetTop
属性,因此最好将SVG包装在div中并获取该元素的偏移量。
e.g。
(function hideCtaWelcomeOnScroll() {
var ctaWelcomeElement = document.getElementById('svgWrapper');
var initialCtaWelcomeOffset = ctaWelcomeElement.offsetTop;
})();
HTML:
<div id="svgWrapper">
<svg></svg>
</div>