我尝试了所有我知道的可能性以及我在Stackoverflow中找到的window.scrollY
值,它总是给我“0”,甚至与window.scrollX相同。拜托,有人可以告诉我我做错了吗?
我尝试了$window.scrollY
,$document[0].documentElement.scrollTop
,$document[0].documentElement.scrollLeft
,$window.pageYOffset
,angular.element($window)
没有任何对我有用。
这是我的代码段(有角度的方式)
以下代码
window.scrollY 无法正常工作,我总是为零。
$timeout(function () {
var nav = angular.element($document[0].querySelector("#main"));
// getting this offsetTop value
var topOfNav = nav.prop('offsetTop');
var fixNav = function () {
console.log(topOfNav, $window.scrollY);
};
// this is working great, it is listening to scroll event
$window.addEventListener('scroll', fixNav, true);
});
为了测试我尝试创建简单的HTML文件,并在<script></script>
标记中添加了此代码段( javascript way ),但它工作得很好。
这里是代码(像冠军一样工作)
<script>
const nav = document.querySelector('#main');
const topOfNav = nav.offsetTop;
function fixNav() {
console.log(topOfNav, window.scrollY);
}
window.addEventListener('scroll', fixNav);
</script>
其他信息:
谢谢。
<击> 修改 撞击>
<击>Angular Material Version:1.x.x
击><击>
在挖掘太多(更新软件包,卸载和重新安装软件包)后,我找到的一件事是 Angular-Material是阻止程序。 我尝试了其他角度项目,我找到的唯一阻挡剂是 Angular Material
答案 0 :(得分:3)
某处从中删除样式高度:100%,上面的代码对我有用
答案 1 :(得分:0)
以下对我有用:
html, body { height: auto }