Javascript 当我使用其他方法时,jQuery加载动画并没有隐藏在加载页面上或显示延迟
我正在使用jQuery完成一项简单的任务。任务是简单地显示加载动画,直到页面完全加载为止 我所经历的是,动画在50-75%的时间后显示,然后在页面完全加载后隐藏(我在问题的下一部分中将其称为延迟) 注意事项: ->如果我将动画代码放在Javascript 当我使用其他方法时,jQuery加载动画并没有隐藏在加载页面上或显示延迟,javascript,jquery,css,Javascript,Jquery,Css,我正在使用jQuery完成一项简单的任务。任务是简单地显示加载动画,直到页面完全加载为止 我所经历的是,动画在50-75%的时间后显示,然后在页面完全加载后隐藏(我在问题的下一部分中将其称为延迟) 注意事项: ->如果我将动画代码放在header.php中,将script放在footer.php中,则代码显示延迟(已提到) ->如果我将动画代码和script都放在header.php中,动画永远不会隐藏(对我来说不明确)。对于footer.php中的两个,它都被隐藏,但显示延迟 我想知道为什么我
header.php
中,将script
放在footer.php
中,则代码显示延迟(已提到)
->如果我将动画代码和script
都放在header.php
中,动画永远不会隐藏(对我来说不明确)。对于footer.php
中的两个,它都被隐藏,但显示延迟
我想知道为什么我的页面会这样做,做这项任务的最佳方法是什么。(我知道我的方法不是最好的,因为它行为不端)
注意:我的主页包括header.php
和footer.php
文件
我的问题到此结束
这是引导加载动画。(工作正常。没问题。只是为了展示)
动画代码
加载。。。
这就是我用来隐藏页面上动画的函数完全加载了。(也很好用。没问题。只是为了展示)
脚本
$(文档).ready(函数($){
$(“#加载”).fadeOut(“慢”);
});
document.ready()表示如果页面内容庞大,并且在底部添加了js以加载DOM,则DOM可以运行,因此加载动画会延迟。在标题处,确保jquery位于自定义CSS之上。如果您对答案不满意,请编辑问题并添加完整的HTML标记。document.ready()意味着您的DOM已准备好运行,如果您的页面有大量内容,并且在底部添加了js以加载DOM需要时间,则加载动画会延迟。在标题处,确保jquery位于自定义CSS之上。如果您对答案不满意,请编辑问题并添加完整的HTML标记。我发现了错误。让动画在一段时间后加载的是,在动画代码之前,我链接了引导CDN,然后是动画代码。这就是为什么花费的时间比预期的要长。
我学到的是,使用引导加载动画(显示页面正在加载的动画)是一种糟糕的方法。相反,应该使用用于动画的CSS和HTML。主要使用网站上的任何库都会影响网站的速度,这对SEO不好。我发现了错误。让动画在一段时间后加载的是,在动画代码之前,我链接了引导CDN,然后是动画代码。这就是为什么花费的时间比预期的要长。
我学到的是,使用引导加载动画(显示页面正在加载的动画)是一种糟糕的方法。相反,应该使用用于动画的CSS和HTML。主要是在网站上使用任何库都会影响网站的速度,这对SEO不好。您经历了两种不同的情况。让我逐一澄清: 1。如果我将动画代码放在header.php中,将脚本放在footer.php中,那么代码将显示延迟(已提到)。 您说过要在动画代码之前插入引导,因此加载可能需要时间。我将重复您的话:是的,最好避免使用任何框架或库(如Bootstrap或jQuery)来添加页面加载动画。这是因为进度条应该是第一个加载和显示的,如果浏览器需要加载像第三方库这样的重文件,它会延迟。嗯,还有一个解决方案: 您还可以使用HTML5的
标记的async
属性异步加载脚本。但是,不能在动画代码中使用引导。原因是,引导可能会在渲染动画代码之后加载。阅读:
2。如果我将动画代码和脚本都放在header.php中,动画就永远不会隐藏(对我来说不明确)。在footer.php中,这两个选项都会隐藏,但会显示延迟。
您说过要在footer.php
中的
末尾添加jQuery文件,因此在header.php中放置脚本时不会运行,因为jQuery仍然没有加载。检查控制台日志;将会有一个错误
您必须首先加载jQuery,然后使用它。阅读:
此外,如果在加载所有资源(如图像和iFrame)后试图隐藏进度条,请使用$(document).load()
代替$(document).ready()<代码>$(document).ready()
在DOM就绪时被激发,但是$(document).load()在页面加载时被激发。您经历了两种不同的场景。让我逐一澄清:
1。如果我将动画代码放在header.php中,将脚本放在footer.php中,那么代码将显示延迟(已提到)。
您说过要在动画代码之前插入引导,因此加载可能需要时间。我将重复您的话:是的,最好避免使用任何框架或库(如Bootstrap或jQuery)来添加页面加载动画。这是因为进度条应该是第一个加载和显示的,如果浏览器需要加载像第三方库这样的重文件,它会延迟。嗯,还有一个解决方案:
您还可以使用HTML5的
标记的async
属性异步加载脚本。但是,不能在动画代码中使用引导。原因是,引导可能会在渲染动画代码之后加载。阅读:
2。如果我把动画代码和脚本都放在头上
<div id="Loading">
<div class="spinner-border m-5" role="status" >
<span class="sr-only" >Loading...</span>
</div>
</div>
<script>
$(document).ready(function($) {
$('#Loading').fadeOut("slow");
});
</script>