如何在加载网站内容时显示加载屏幕
我正在开发一个包含大量 mp3 和图像的网站,我想在加载所有内容时显示一个正在加载的 gif。
我不知道如何实现这一点,但我确实有我想要使用的动画 gif。
有什么建议么?
I'm working on a site which contains a whole bunch of mp3s and images, and I'd like to display a loading gif while all the content loads.
I have no idea how to achieve this, but I do have the animated gif I want to use.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
通常,网站通过 ajax 加载内容并侦听 readystatechanged 事件以使用加载的 GIF 或内容更新 DOM 来实现此目的。
您目前加载内容的情况如何?
代码将与此类似:
有大量的第 3 方 javascript 库可能会让您的生活更轻松,但以上确实是您所需要的。
Typically sites that do this by loading content via ajax and listening to the
readystatechanged
event to update the DOM with a loading GIF or the content.How are you currently loading your content?
The code would be similar to this:
There are plenty of 3rd party javascript libraries that may make your life easier, but the above is really all you need.
您说过您不想在 AJAX 中执行此操作。 虽然 AJAX 对此非常有用,但有一种方法可以在等待整个
加载时显示一个 DIV。 它是这样的:
在所有页面加载完成之前,onload 事件不会触发。 因此,在页面加载完成之前,不会显示第 2 层
,之后将触发 onload。
You said you didn't want to do this in AJAX. While AJAX is great for this, there is a way to show one DIV while waiting for the entire
<body>
to load. It goes something like this:The onload event won't fire until all of the page has loaded. So the layer2
<DIV>
won't be displayed until the page has finished loading, after which onload will fire.使用 jQuery 怎么样? 一个简单的...
和 HTML...
和 CSS...
然后在您的加载器
div
中,您可以放置 GIF 和任何您想要的文本,页面加载后它将淡出。How about with jQuery? A simple...
And the HTML...
And CSS...
Then in your loader
div
you would put the GIF, and any text you wanted, and it will fade out once the page has loaded.#纯css方法
#Pure css method
首先,在 div 中设置加载图像。 接下来,获取 div 元素。 然后,设置一个编辑 css 的函数,使可见性变为“隐藏”。 现在,在
中,将 onload 放入函数名称中。
First, set up a loading image in a div. Next, get the div element. Then, set a function that edits the css to make the visibility to "hidden". Now, in the
<body>
, put the onload to the function name.实际上有一个非常简单的方法可以做到这一点。 代码应该类似于:
在 HTML 中:
我在我的页面上做了类似的事情,效果很好。
There's actually a pretty easy way to do this. The code should be something like:
And in the HTML:
I did something like that on my page and it works great.
您可以在 HTML5 中使用
元素。 请参阅此页面以获取源代码和现场演示。 http://purpledesign.in/blog/super-cool-loading-bar- html5/
这里是进度元素...
这将具有从 20 开始的加载值。当然,只有该元素是不够的。 您需要在脚本加载时移动它。 为此我们需要 JQuery。 这是一个简单的 JQuery 脚本,它从 0 开始进度到 100,并在定义的时间段内执行某些操作。
将其添加到您的 HTML 文件中。
希望这会给您一个开始。
You can use
<progress>
element in HTML5. See this page for source code and live demo. http://purpledesign.in/blog/super-cool-loading-bar-html5/here is the progress element...
this will have the loading value starting from 20. Of course only the element wont suffice. You need to move it as the script loads. For that we need JQuery. Here is a simple JQuery script that starts the progress from 0 to 100 and does something in defined time slot.
Add this to your HTML file.
Hope this will give you a start.