gpt4 book ai didi

jquery - 如果没有页面滚动,只隐藏div?

转载 作者:行者123 更新时间:2023-12-01 07:58:07 24 4
gpt4 key购买 nike

嗨,我有一个 div 在 x 秒后向上滚动,我想让它这样,如果页面已经滚动而不向上滚动,这就是滚动代码

$(window).load(function () {
$('body,html').delay(6000) //wait
$('body,html').animate(
{
'scrollTop': $('#topslide').offset().top
}, 800); //animate over 300ms
});

我之前使用此代码来检查滚动的位置,以便显示或隐藏 Logo

这是用于此目的的代码

var pastWaypoint = false;
$(window).scroll(function(){
if ($(window).scrollTop() > 920 && !pastWaypoint) {
$('#logo').show();
$('#main-nav').css('top','0px');
pastWaypoint = true;
}
else if ($(window).scrollTop() <= 920 && pastWaypoint)
{
$('#logo').hide();
$('#main-nav').css('top','100px');
pastWaypoint = false;
}
});

只是不确定如何将两者结合起来以获得所需的效果。

任何建议

谢谢

最佳答案

jQuery 的延迟无法取消排队事件(据我所知)。请改用 setTimeout,然后将函数包装在 if 中。 setTimeout 与延迟执行相同的操作,但由于它包装了一个函数,因此您可以使用条件语句来进行滚动检查。

$(window).load(function () {
setTimeout(function(){ // The first argument is the function...
if ($(window).scrollTop() <= 920)
{
$('body,html').animate({
'scrollTop': $('#topslide').offset().top
}, 800);
}
},6000); // This second argument is the time to wait in milliseconds BEFORE the function is called.
});

关于jquery - 如果没有页面滚动,只隐藏div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22330870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com