当我滚动到:
时,我正试图让一段代码只执行一次$('#main_nav').addClass('past-scrollpoint');
$('#content-block').addClass('past-scrollpoint-content');
$('#header').addClass('hidden');
但是,一旦该点小于740,代码似乎处于非活动状态。
这是我最好的尝试:
$(window).on('scroll', function()
{
var initial = 0;
stop = Math.round($(window).scrollTop());
if (initial < 1)
{
if (stop > 740)
{
initial = initial + 1;
$('#main_nav').addClass('past-scrollpoint');
$('#content-block').addClass('past-scrollpoint-content');
$('#header').addClass('hidden');
}
}
);
答案 0 :(得分:4)
不确定,但我认为你每次都要覆盖初始变量。使用全局变量。
var initial = 0;
$(window).on('scroll', function()
{
stop = Math.round($(window).scrollTop());
if (initial < 1)
{
if (stop > 740)
{
initial = initial + 1;
$('#main_nav').addClass('past-scrollpoint');
$('#content-block').addClass('past-scrollpoint-content');
$('#header').addClass('hidden');
}
}
);
答案 1 :(得分:1)
您希望这段代码在滚动到740或更多时只执行一次?为此,我认为你的代码很好。你只需要做一些修改: -
$(window).on('scroll', function(){
var initial = 0;
while(initial<1)
{
stop = Math.round($(window).scrollTop());
if (stop >= 740)
{
$('#main_nav').addClass('past-scrollpoint');
$('#content-block').addClass('past-scrollpoint-content');
$('#header').addClass('hidden');
initial = initial + 1;
}
}
});
希望这会有所帮助!!