无法读取属性';顶部';Chrome和Firefox中未定义的jQuery/JavaScript
如何修复以下错误行:无法读取属性';顶部';Chrome和Firefox中未定义的jQuery/JavaScript,javascript,jquery,html,Javascript,Jquery,Html,如何修复以下错误行: var targetTop = $('#' + page).offset().top; 我在过去3个月里一直在努力,但仍然没有找到解决办法 $(document).ready(function(){ $(window).scroll(function() { $('.page').each(function () { changePage(this.id); }); }); }); function
var targetTop = $('#' + page).offset().top;
我在过去3个月里一直在努力,但仍然没有找到解决办法
$(document).ready(function(){
$(window).scroll(function() {
$('.page').each(function () {
changePage(this.id);
});
});
});
function changePage (page) {
var position = $(window).scrollTop();
var targetTop = $('#' + page).offset().top;
var targetBottom = targetTop + $('#' + page).height();
if (position >= targetTop && position < targetBottom && !$('#' + page).hasClass('active')) {
console.log('id: ' + page);
$('.page').removeClass('active');
$('#' + page).addClass('active');
$('iframe').attr('src', '<?=SITE_URL?>upload_files/collection/TS.pdf#page=' + page[page.length - 1]+'&zoom=45&toolbar=0&navpanes=0');
}
}
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
$('.page')。每个(函数(){
changePage(this.id);
});
});
});
功能更改页(第页){
var position=$(window.scrollTop();
var targetTop=$('#'+page).offset().top;
var targetBottom=targetTop+$('#'+page).height();
if(position>=targetTop&&position
$('#'+page)
不返回任何元素,这意味着$('#'+page).offset()
返回未定义的
无法获取未定义的的.top
属性
显然,使用“#”+页面
创建的选择器不正确
原因可能是changePage(this.id)中未定义的id
您希望在var页面中显示什么?能否在更改页面中放置控制台。在更改页面中记录以打印页面的值
谢谢您的快速响应。但是你能告诉我实现它的正确方法吗。你是否尝试确认是否有未定义的此.id
?你好stackoverflow支持团队请任何人帮助我。。。我在等待你宝贵的答复。