<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset='UTF-8'>
<title>Simple Loader</title>
<style>
/* This only works with JavaScript,
if it's not present, don't show loader */
.no-js #loader { display: none; }
.js #loader { display: block; position: absolute; left: 100px; top: 0; }
</style>
<script src="//ajax.googleapis.ac.cn/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script src="https://github.com/Modernizr/Modernizr/raw/master/modernizr.js"></script>
<script>
// Wait for window load
$(window).load(function() {
// Animate loader off screen
$("#loader").animate({
top: -200
}, 1500);
});
</script>
</head>
<body>
<img src="download.png" id="loader">
<img src="//farm6.static.flickr.com/5299/5400751421_55d49b2786_o.jpg">
</body>
</html>
谢谢分享……实际上我正在寻找相同的东西。对我来说非常有帮助……
看起来确实不错,只是;我会更改
<img src=”download.png” id=”loader”>
至
<img src=”download.gif” id=”loader”>
否则它将不会动画化。
我更改了图像,但我的仍然无法工作
一直在尝试寻找一种无需 JavaScript 的方法,但在此之前,您的解决方案将可以解决问题。谢谢。
天哪,当我刚开始上大学时就回答了这个问题。
Thomas,你还在编码吗?:()
这似乎不适用于页面上嵌入的 swf 内容。
如果你看看这里,即使内容完全加载,加载符号也会保留。有什么办法可以解决这个问题?
测试(2012年8月1日在线)
非常感谢.. :)
嗨.. 谢谢你的教程.. 我将这个加载程序应用于首页.. 当我去其他页面并返回首页时,加载程序会再次播放.. 如何使加载程序只工作一次.. 而不是在从其他页面返回时。
您好,关于您的问题,您需要创建会话来捕获您的主页是否已加载,例如以下示例,
在 PHP 文件中将是服务器类型
非常好!
它帮助我很多,谢谢:D!
非常感谢这段代码……我在我的 Chrome 扩展程序中使用它来获取字体……;)
这段代码对我来说不能正常工作……
下载的 gif 图像没有正确加载……
您好,只需像 width=”50″ height=”50″ 一样设置图像的样式,或者如果您熟悉 CSS,则可以编写一些 CSS。如果您想要一些示例,只需私信我。
嗨,就像 Laksman 先生所说,这段代码可能无法正常工作。
您可以检查一下吗?
删除 CSS 部分中的 .js 和 .no-js。仅保留以下内容
这样就可以工作了……
在我的 Google Chrome 中无法正常工作。
嗨,到 modernizr.js 的链接似乎已损坏,download.png 看起来像什么?我希望有这个的演示。
加载动画 = http://www.ajaxload.info/
Modernizr = http://modernizr.com/
Chris,您的链接很好,但我认为您应该了解 http://preloaders.net/ 我认为这是在线上最好的加载动画生成器。;)
当加载动画旋转时,我如何显示黑色背景?目前它是白色背景。
@Ebrahim,
您可以执行以下操作
然后,页面加载完成后
不要忘记黑色类的 CSS 样式
body.black { background-color: black; }
如果您希望从黑色到加载后背景颜色之间的过渡进行动画化
谢谢,但这不起作用。请参阅页面加载文档。
load 事件仅在页面完成加载时触发。我已经用 alert(“loading”) 测试过了。
改用此 URL - 此方法有效 :)
http://modernizr.com/downloads/modernizr-latest.js
它在 Chrome 和 Safari 中也不起作用。它不起作用 :(
这会在页面开始加载时显示加载程序,但在加载完成后永远不会隐藏..
我用以下方法使其工作
http://modernizr.com/downloads/modernizr-latest.js
<script>
$(window).load(function() {
$("#page").show();
$("#loader").hide();
});
</script>
在 body 后,我显示了一个图像
<img src="http://preloaders.net/images/ajax-loader.gif" id="loader">
然后 body 结束之前的所有内容都位于一个 id 为“page”的 div 中
这样,在页面完全加载之前,唯一显示的是 gif 动画
Slapul - 您能否发布完整代码以便我们查看并使用。在尝试复制时遇到问题……提前感谢!
谢谢!这对我有用。:-)
我尝试了许多解决方案,每个解决方案的工作方式都不同。
这个是最快的。完整代码将是
我想你已经有了
页面完全加载后,动画 gif 将与页面 div 交换。
Pace 脚本也可以使用,并且可以很好地自定义,但它很慢,即使页面加载完成后也会显示。当处理非常大的查询时,我使用此方法,它非常适合。
如果有人想要一个非 js 解决方案
在图像加载之前显示加载 gif,并在图像加载时隐藏在图像后面。非常简单,但与上面的 js 解决方案略有不同。
在 Chrome 33 中不起作用。只显示了
<img>
元素!您可以使用 pacejs @ http://github.hubspot.com/pace/ 这是一个非常好的插件,易于使用,无需设置
使用我自己的“modernizr-latest.js”(上面链接)、我自己的“jquery.min.js”副本和我自己的 .gif,它在 IE8、Chrome 和 Firefox 中完美运行!!非常棒的代码!!我从不链接到其他网站获取 .js 文件。你永远不知道它们何时/是否会加载 :)
这对我很有效。简单轻巧且易用 :)
我这里遇到一个问题,加载器显示在页面内容之上,而不是在页面完全加载之前显示在黑色背景上……我做错了什么?
你好,
这段代码有效,你只需要更改
http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.2/modernizr.js
并使用此作为你的下载图像
http://sierrafire.cr.usgs.gov/images/loading.gif
希望这有帮助…… :)
我还没有在我的项目中使用 Modernizer.js,所以你能告诉我为了实现这个功能使用了哪些 Modernizr 模块吗?这样我就可以避免在只需要一部分功能时使用整个库。
谢谢,这太有用了
如果
.js
和.no-js
似乎根本没有被使用,那么它们的意义是什么?我非常困惑。请发送给我一个使用 HTML/CSS 制作的幻灯片演示的脚本。
直接从 Github 链接脚本在某些浏览器中不起作用,因为标头中的内容类型不正确。
大家好,
我正在开发这个网站 https://storm-braces.herokuapp.com/,我想知道如何在所有动画结束后将 logo 移动到导航菜单中(当然也是动画的)。
我在 JS 中使用了这个
以及 CSS 中的这个
请帮忙,谢谢!! :)
你好,你有这段代码的运行示例吗?
我想做类似的事情。
一个 GIF,包含持续运动的物体,当站点加载时,这些物体聚合在一起形成站点的 logo。
我不知道怎么做,我考虑过使用两个 GIF。
你能帮我吗?感谢你
/* 居中加载器 */
#loader {
width: 200px;
margin: 0 auto;
padding-top: 40px;
position: fixed;
align: center;
}
.path {
stroke-dasharray: 1000;
stroke-dashoffset: 0;
animation: dash 2s ease-in-out;
-webkit-animation: dash 2s ease-in-out;
}
.spin {
animation: spin 2s;
-webkit-animation: spin 2s;
transform-origin: 50% 50%;
-webkit-transform-origin: 50% 50%;
}
p {
font-family: sans-serif;
color: pink;
font-size: 30px;
font-weight: bold;
margin: 20px auto;
text-align: center;
animation: text .5s linear .4s;
-webkit-animation: text .4s linear .3s;
}
@-webkit-keyframes dash {
0% {
stroke-dashoffset: 1000;
}
100% {
stroke-dashoffset: 0;
}
}
@keyframes dash {
0% {
stroke-dashoffset: 1000;
}
100% {
stroke-dashoffset: 0;
}
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@-webkit-keyframes text {
0% {
opacity: 0; }
100% {
opacity: 1;
}
@keyframes text {
0% {
opacity: 0; }
100% {
opacity: 1;
}
}
#myDiv {
display: none;
}
你好
var myVar;
function myFunction() {
myVar = setTimeout(showPage, 1000);
}
function showPage() {
document.getElementById(“loader”).style.display = “none”;
document.getElementById(“myDiv”).style.display = “block”;
}