我回来了!
经历了多次跳票以后我终于完成了现在这个主题,从今天开始,我将恢复更新博客。对于新主题,我要感谢以下各位博友,正因为有他们的各种代码以及创意,才有了我现在这个主题。
Willin:Ajax回复,头像缓存”小g”,防Spam的”小墙”。
木木:标题点击后变Loading效果。
wlsy:参考了头部导航样式。
还有一些不明出处的创意,在此也表示感谢。
我回来了!
经历了多次跳票以后我终于完成了现在这个主题,从今天开始,我将恢复更新博客。对于新主题,我要感谢以下各位博友,正因为有他们的各种代码以及创意,才有了我现在这个主题。
Willin:Ajax回复,头像缓存”小g”,防Spam的”小墙”。
木木:标题点击后变Loading效果。
wlsy:参考了头部导航样式。
还有一些不明出处的创意,在此也表示感谢。
致各位有心无心点进我博客的朋友以及各让我头疼的自动或人工Spamer:最近由于各种原因无心折腾Wordpress了,貌似我去年也是这个时候暂时停止更新博客,好吧,你们可以理解成我冬眠去了,待明年春暖花开,我会回来的,谢谢各位点击!
记得以前写过一篇名叫利用Collapsible Elements实现文章内容折叠效果的文章,当时Willin大师说过可以用jQuery来实现,无奈当时对jQuery毫无一点研究,只能硬着头皮用插件解决,这短时间稍微研究了下jQuery后,发现实现起来其实很简单,无非就是使用slideDown和slideUp俩函数,但下面代码和demo里面默认的是FadeIn和FadeOut两个函数,效果是渐显和渐隐,为什么不用收缩效果呢?因为在IE里面用收缩函数会不完美,在此再次鄙视IE。
结合Willin大师思路做出来的精简版:
$(document).ready(function() {
var botton='<span style="cursor: pointer; color:#CC0033;background:#000;">点我</span>';
$('#box-botton').append(botton);
//向#box-botton内添加上面定义的按钮
$('#box-botton>p').addClass('box');//为#box-botton内的<P>...</P>内添加class=botton
$('.box').insertAfter('.botton');
//把按钮放在展开内容之前,因为默认会把按钮放在展开内容之后
$('.botton').click(function() {
$(this).siblings().slideToggle(500);return false;});
//使用siblings是为了选择全部包含class=box的段落,如果使用next或prev的话只能选择相邻的同辈元素,也就是上面的一个或下面的一个,如果存在多个段落的话就会失效。
});
现在这个应该算是比较完美的版本了,解决了按钮会落在展开内容下面的缺陷,但效果只有展开,如果需要更多效果,请参照后面的代码修改。
使用方法:在需要使用的地方用<div id=box-botton></div>包起来,如果你嫌字母太多的话,那就换个字母少的单词定义元素。
Demo:http://leo-n.cn/demo/demo2.html
之前的代码如下: 继续阅读
在上一篇介绍副标题处显示嘀咕消息的文章中,我是把嘀咕的js放在header.php中,这是一个常规的方法,简单方便易实现,但这方法也存在一个很大的弊端,因为网页是按从上到下的顺序进行加载,引用了一段外部js在头部后,自己博客首页打开速度就会受到影响,还有就是在外部js失效后,博客首页也就会卡在那打不开了,极大的降低了访客体验度,有没有其他方法可以解决呢?
我首先想到的方法就是把嘀咕的代码单独保存为一个php文件,加载到index.php的底部中,再利用css的绝对定位absolute把其定位到博客副标题处来显示,用top和left调整好位置后,在我笔记本屏幕上显示没有问题,但换到其他分辨率下,错位问题也就随之而来了, 具体原因请看absolute的定位原理:
元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
所以,这个方法被否决了,Google之后,我发现了另外的一个方法,就是本文标题所述的内容:利用jQuery改变网页元素加载顺序,下面就以副标题处显示嘀咕消息为例来介绍如何利用jQuery来改变网页元素的加载顺序。 继续阅读