给 WordPress 添加 Loading 预载

看到很多网站上都有这么个效果,这个效果可以留住一些心急等不了载入的访客,那到底是怎么实现的呢?之前据我估计这一定是用 JQuery 之类的技术实现的,JS、JQuery 一向是我的软肋,所以没有深究过。今天在逛萄葡藤MM的博客时(一直好奇她的名字为啥不叫葡萄藤,真拗口),意外地发现她的 Loading 预载效果居然只是一张 gif 动画,很好奇,于是就从她的源码里把这个方法扒下来了。

我自己试用了一下这个效果,但是因为小站的速度已经快到胜似光速了,所以每次都是 Loading 图片还在预载,而网站已经完全打开了,不得不放弃这个效果。(兽兽肯定又要跑过来说我自恋了,顺便再BS我一下,我先接受啦,哈哈)总之,Loading 预载的效果可以直接看萄葡藤MM的博客。

下面说我自学来的方法,可能描述地不准确,欢迎指正啊。

1、在 WordPress 的 header.php 中加入 Loading 的 Gif 图片,代码如下:

<div id='loading'><img src="/loading.gif" /></div>

我看萄葡藤MM是把这段加在<head></head>中的,不过根据接下来的第2步,我个人认为还是加在<body>之中比较好,大家各抒己见吧。

2、加好了图片代码,那接下来就是在整站加载完毕后隐藏这张图片啦,萄葡藤MM的做法是在 footer.php 中的</body>闭合前加上以下这段代码:

<script>document.write('<style>#loading{display:none}<\/style>');</script>

这是一段 JS,这么简单的 JS 我还是能够看懂的,意思就是说在加载完<body>中的内容后就将 Loading 的图片隐藏。

3、既然写了 id='loading',那肯定要写 loading 的 CSS 啦,这样式我也是照搬照抄萄葡藤MM的,如下:

#loading{
    z-index:2;
    padding:5px 5px 5px 5px;
    background:#eee;
    top:30%;left:40%;
    width:120px;
    color:#c44;
    position:fixed;
    font-size: 14px;
    font-weight: bold;
}

这样应该就OK了,我还特地从 ZCOOL 上找了些 Loading 的 Gif 图片供各位参考,点此进入时空门。最后,我还是坚信 Loading 预载入效果可以通过 JQuery 来实现,图片的 Loading 只能算是伪 Loading,JQuery 实现的 Loading 那才是真正意义上的 Loading,改天再好好研究下吧。

  1. Pingback: 给 WordPress 添加 Loading 预载 | 路子博客

  2. Pingback: 给Wordpress添加Loading效果 | 盆盆罐罐

  3. 经测试,

    貌似要像葡萄藤一样放 head 的 title 前面才能看到loading图片。

    PS. 大家都反应blog速度好,请问都用的什么空间呢?我想换,但不知道那里有好和接近的,能推荐推荐么?

    • 要我推荐主机,肯定首选衡天小张的啦,因为我自己就在用,独立IP,速度快,功能全,有需要可以联系小张本人:66743372

  4. 我也用的伪加载,不过代码是 document.getElementById("obugs").style.display="none";
    obugs是loading的div。
    还可以通过这种方法粗略的计算网页的加载时间。
    额,顺便恭喜万戈卖出广告位一枚。

  5. 一直没时间,来看。终于待业在家了。WP做的非常经典。我很羡慕 - -。我是干网络技术的,对PHP知之甚少,往后就来你这里抄袭了。

  6. 其实不用不用在hearder文件中加任何的代码即可实现,只需改变css即可,
    而且css也没那么复杂,只需在css文件中的body标签里追加:
    body { background:url(loading.gif) no-repeat 50% 50%; /*背景上下、左右居中*/}
    像你的背景有颜色的改成:
    body { background:#eee url(loading.gif) no-repeat 50% 50%; /*背景上下、左右居中*/} 即可。
    然后在加载完后,将body的css改为:body { background:#eee;}即可

  7. Loading 的 Gif 应该加在header,这样的话会及早出现Loading动画,减少用户等待,js应该加在footer里闭合的地方,以保证在网站刚好加载完的情况下马上停止loading动画

  8. 我用了一下这个 . 主要是我的界面一点进去日志.就没有footer了. 我再次把这个放到head里.还是不隐藏.

    网页都显示完成了.还在哪里loading. ....

    可能是因为我主题的因素吧. 老万. 你可是个牛人啊.

  9. 我用的是jQuery,应该是jQuery,忘了,反正就是js+css啦

    今天邀请了久酷友情链接,我想再邀请万戈友情链接 :roll: ,咋样?我先加好,我的你自己决定 :mrgreen: ,哈

  10. chrome的GG READER插件確實不錯 不過我仍然沒搶到沙發 哈哈
    誰叫我剛才在努力學習
    這個LOADING的我以前用過~
    不過現在不打算用了
    因為我覺得我的站也蠻快的撒……

    • 因为我没有用,我的小站本来就很快了嘛,还loading个啥
      你一定沙发太快了,没看完就抢了吧,哈哈
      看来chrome的google reader插件很不错啊