我试图获取 app.js 控制的offset().top
中存在的元素<div class='profile'></div>
,但控制台显示错误:
未捕获的TypeError:无法读取属性&#39; top&#39;未定义的
jQuery代码:
ngView
index.ejs
var topOfOthDiv = $('.profile').offset().top;
main.js
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="main/js/main.js"></script>
...
</head>
<body>
<div class="ui inverted top fixed nbar hidden menu">...</div>
<div class="ui main container " ng-view>
</div>
</body>
在$(document)
.ready(function() {
var topOfOthDiv = $('.profile').offset().top;
$(window).scroll(function() {
if($(window).scrollTop() > topOfOthDiv) { //scrolled past the other div?
$('.fixed.menu').transition('fade in'); //reached the desired point -- show div
}
if($(window).scrollTop() < topOfOthDiv) { //scrolled past the other div?
$('.fixed.menu').transition('fade out'); //reached the desired point -- show div
}
});
})
;
中我加载了具有ng-view
clss div的不同视图
如果.profile
类在index.ejs
答案 0 :(得分:1)
好吧,如果不查看整个代码,我们就无法确定原因,因为这可能有很多原因,但最可能的原因是:
HTML
之后加载了Javascript文件。这意味着脚本正在寻找在执行后写入浏览器的内容。