Javascript 偏移量()。top给出了错误的值
我使用这个js将类添加到当前部分,并基于数据属性将类添加到当前导航元素Javascript 偏移量()。top给出了错误的值,javascript,html,css,Javascript,Html,Css,我使用这个js将类添加到当前部分,并基于数据属性将类添加到当前导航元素 var cutoff = $(window).scrollTop(), cutoffRange = cutoff + 88, curSec = $('#main-page').find('.s-active'), // Current section curID = $(curSec).attr('id'), // Current section ID curNav = $('.navigat
var cutoff = $(window).scrollTop(),
cutoffRange = cutoff + 88,
curSec = $('#main-page').find('.s-active'), // Current section
curID = $(curSec).attr('id'), // Current section ID
curNav = $('.navigation').find('li[data-navSections*="'+curID+'"]'); // Find current menu item
$('.navigation li').removeClass('current-menu-item');
$(curNav).addClass('current-menu-item');
$('.section').each(function(){
if ($(this).offset().top > cutoff && $(this).offset().top < cutoffRange) {
$('.section').removeClass('s-active')
$(this).addClass('s-active');
return false; // stops the iteration after the first one on screen
}
});
var-cutoff=$(窗口).scrollTop(),
截止范围=截止+88,
curSec=$(“#主页”).find(“.s-active”),//当前节
curID=$(curSec.attr('id'),//当前节id
curNav=$('.navigation').find('li[datanavsections*=“'+curID+'”);//查找当前菜单项
$('.navigation li').removeClass('current-menu-item');
$(curNav).addClass('current-menu-item');
$('.section')。每个(函数(){
if($(this.offset().top>截止和$(this.offset().top
这是一个html示例
<section id="section-home" class="s-active"></section>
<section id="section-about" style="margin-top: 990px"></section>
<section id="section-section"></section>
#section-home {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 100%;
overflow: hidden;
z-index: 1;
}
#section-about,
#section-section {
z-index: 2;
position: relative;
}
#科室{
位置:固定;
排名:0;
左:0;
身高:100%;
宽度:100%;
溢出:隐藏;
z指数:1;
}
#关于,
#剖面{
z指数:2;
位置:相对位置;
}
第一部分是视差,边距顶部到第二部分由另一个脚本添加
上面的脚本工作得很好,但没有将类添加到第一个固定主部分。这不是offset().top的错误吗
JSFIDLE 这是一个打字错误;) 在此代码中:
$('.section')。每个(函数(){})代码>指向名为.section
的类。这是不可用的
试试这个:
$('section')
这是一个打字错误;)
在此代码中:$('.section')。每个(函数(){})代码>指向名为.section
的类。这是不可用的
试试这个:
$('section')
请提供jsfiddleoffset()
没有错误。所以请注意offset()
和position()
之间的区别。您的问题可能是在计算偏移量后添加了边距顶部:990px
。所以错误就在你的代码中。提供一个jsfiddle.com复制该问题,我们可以帮助您更好地检查此$(this).offset().top>cutoff
如果两者都是整数,有时这也是我的问题:)请提供jsfiddleoffset()
没有错误。所以请注意offset()
和position()
之间的区别。您的问题可能是在计算偏移量后添加了边距顶部:990px
。所以错误就在你的代码中。提供一个jsfiddle.com复制该问题,我们可以帮助您更好地检查此$(this).offset().top>cutoff
,如果两者都是整数,有时这也是我的问题:)眼睛好的人:)有时我们读得肤浅,却没有注意到这些最小和重要的东西:)眼睛好的人:)有时我们读得肤浅,却没有注意到这些最小和重要的东西