Javascript 延迟()5秒后淡出

Javascript 延迟()5秒后淡出,javascript,jquery,Javascript,Jquery,我尝试在5秒后使用以下命令创建网站fadeIn的一部分: $('#topScroll').delay(5000).fadeIn(400); <script> jQuery(function($) { $('body').panelSnap(); $('#topScroll').delay(5000).fadeIn(400); }); </script> 我似乎无法让它工作。这是否需要连接到事件?我看到,对淡出进行同样的操作,在没有事件的情况下效果很好

我尝试在5秒后使用以下命令创建网站fadeIn的一部分:

$('#topScroll').delay(5000).fadeIn(400);
<script>
jQuery(function($) {
    $('body').panelSnap();
    $('#topScroll').delay(5000).fadeIn(400);
});
</script>
我似乎无法让它工作。这是否需要连接到事件?我看到,对淡出进行同样的操作,在没有事件的情况下效果很好

<div id="topScroll">
    <a class="scroll">Scroll<br /><img src="images/scroll.png" alt="scroll" /></a>
</div>

滚动
我认为可能需要先将div设置为
display:none
,然后才能淡入,但这似乎没有什么区别。

试试这个:
$('topScroll').hide().delay(5000).fadeIn(400)

您的div已经可见,因此您最好再次隐藏它,以便执行
fadeIn()

fadeOut()。参考资料:

确保您的“#topScroll”元素实际上没有首先显示,然后使用
setTimeout()
延迟淡入5秒:

$('#topScroll').hide();
setTimeout(function() {
    $('#topScroll').fadeIn(400);
}, 5000);
delay并不是JavaScript本机setTimeout函数的替代品,它可能更适合于某些用例

试试这个:

setTimeout(function(){
    $("#topScroll").fadeIn(400);
}, 5000)
与此CSS一起:

#topScroll {display: none;}

是,必须设置div
display:none

问题是您试图在尚未加载的DOM元素上运行该函数。按以下方式修改代码:

$('#topScroll').delay(5000).fadeIn(400);
<script>
jQuery(function($) {
    $('body').panelSnap();
    $('#topScroll').delay(5000).fadeIn(400);
});
</script>

jQuery(函数($){
$('body').panelSnap();
美元("托普克罗尔"),延迟(5000美元),法代因(400美元),;
});
它会起作用的。在
jQuery(function($){})
块中嵌入代码时,DOM完全加载后将执行其中的所有代码


只是别忘了将
#topScroll
设置为
显示:无

我是个业余爱好者,但这对我有用

function FadeToZero()
{
    $(".myBox").children().delay(5000).fadeOut(800);    
}

请避免链接到外部站点,但在JSFIDLE上以最小的方式复制您的问题。随着时间的推移,外部链接将发生变化,并与未来用户失去相关性。