这回标题说得很清楚了,就是利用 jQuery 在 WordPress 上的一个应用,什么应用呢?就是关闭或者显示侧边栏。(点击此页面导航最右边,试一试?)

默认显示侧边栏,点击导航最右的“关闭侧边栏”,右侧侧边栏消失,左侧文章主体部分完全显示,并且导航内的文字变为“显示侧边栏”,点击则过程相反。整体效果明显,就是在IE下,经过这样过程后侧边栏内的文字杯具了……
首先,请添加下面两行代码至WordPress主题模板中,一般都放header.php的导航栏里:
<span class="close-sidebar">关闭侧边栏</span> <span class="show-sidebar" style="display:none;">显示侧边栏</span>
jQuery代码详解,请复制以下代码并修后后另存为all.js:
jQuery(document).ready(function($){ $('.close-sidebar').click(function() { //点击class=“close-sidebar”的对象,即导航中“关闭侧边栏”时 $('.close-sidebar,.sidebar').hide(); //隐藏class=“close-sidebar”和“sidebar”的对象,即导航中“关闭侧边栏”和主题的“侧边栏” $('.show-sidebar').show(); //显示class=“show-sidebar”的对象,即导航中“显示侧边栏” $('#content').animate({width: "960px"}, 1000); }); //以1000毫秒让id=“content”的对象,即“文章主体部分”的宽度增加到960px $('.show-sidebar').click(function() { //点击导航中“显示侧边栏”时 $('.show-sidebar').hide(); //隐藏导航中“显示侧边栏” $('.close-sidebar,.sidebar').show(); //显示导航中“关闭侧边栏”和主题的“侧边栏” $('#content').animate({width: "705px"}, 1000);}); //以1000毫秒让“文章主体部分”的宽度收缩回705px });
看懂上面代码的童鞋应该知道需修改其中部分属性及属性值,至少你需要查看自己主题的侧边栏样式是不是class=“sidebar”,主体又是不是id=“content”,不是则修改之;另外那个宽度width值也需相应修改!
最后,在header.php里载入jQuery库及这个JS:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> <script type="text/javascript" src="http://xxxooo.xxx/xxxooo/all.js"></script>
OK,搞定!不过你现在可还没有伸缩抖动的效果,需另加载一个jquery.easing.js ,然后修改文中jQuery部分代码。为方面各位同学对照学习,提供两者合并后的JS:
友情提醒:在修改时请尤其注意,不要多删一个符号,不要少加一个符号,我就是因为少了个“);”,硬生生让我多折腾了一个多小时……
2009年12月6日:更新代码,详情看此文《”关闭/显示侧边栏”最简代码版》

第一次沙发!!!(俺有内幕消息)
板凳,没内幕消息哈!
地板,坐着太凉了……
小心别感冒哈~~~
这个效果太好了
实现不是很难,不妨可以试试~
效果是不错,可是IE下就比较悲剧了。。。
果然,在IE下很杯具,特别是IE6,根本无效
IE6是有效的
已修复,IE7下正常,字体已正常!
已修复,IE7下正常,字体正常!
IE8下,现在也正常了
嗯这个效果很酷啊……不过我暂时还用不上……支持了!
可以收藏下,说不定以后用得着哦~
不错的效果,不过要用这个得好好设计下才行,不然扩大了正文区,排版就变了。
恩,是的,可能有些主题,尤其是用很多图做背景的,就比较麻烦了!
效果很炫。最近在想怎么在网站的不同栏目显示不同的界面,统计的界面就我当前的,自己的界面变那个情侣的,球队的界面用另外个主题。一个博客三种内容,省啊,呵呵。不想用mu。。。
这个……那得好好想想了,涉及到php判断了!通过jQuery也是可以实现的,具体方法就不清楚了。
叉!这个太帅了,我一定要折腾一下!
欢迎欢迎,不过我知道的都写出来了,出错了200%我也解决不了……
这个太有用了!学习学习!
恩恩恩,欢迎一刀同学指正!
木同学进步神速啊
嘻嘻,努力学习中……
最终还是要用到JS代码
那是,jQuery本来就是JavaScript的库~
呵呵. 我博客顶部有一个.不过是主题自带的.~我都不知道怎么做的~~~
刚看了,一样的原理,都是这些代码,只是改变了下数值而已~~
需要两个JS,我放弃了!只在本地玩玩就好
不用那个抖动的效果,那就几行代码的事情呀,再说我们不是已经添加jQuery了吗?就把这几行代码整合好你的all.js就行啦~
阿丘,今天有点冷。
非常非常冷,直接进入寒冬……
特效多了,貌似访问会变慢
是不哦
那当然是的,加载的东西多了嘛,这个要与自己折腾的功能做一个平衡。
呵呵,这个需要一定的基础,不然成功率可想而知……
…为何我没有看到杯具?
刷个新?FF下应该没问题的!
我用ietab刷了几下,没问题,呵呵。
原来正好在ie7下正常,呵呵。
恩,IE6就直接无视了!
这效果不错哟,,
哈,当然,更多特效添加中~~~
呃。。
咳。。
这功能不错,看内容更舒服了
对啊,本来还想把这个主题弄成单栏的呢,现在OK啦!不过IE6下还是有侧边栏下掉的情况……
最早是lbs自带关闭侧栏的功能,而比较起来使用率并不高,就如侧栏可以拖来拖去的功能一样……很酷但实际作用不大。相比较说,关闭侧栏对长篇大论或连载等文章都要分页的东西还是有效的
更多的选择还是放到前端让用户在需要的时候使用,这样更加友好点。
哇,太帅了,特别是在关闭侧边栏那种弹跳的感觉。
嘻嘻,单单这个弹跳可是多加载了几KB的代码哦!冲这个效果,值!
哦,不愧我折腾加些出来啦~~
折腾不了~~观望@@
非常欢迎~~
JQuery 的功能好大哟~
是啊,非常的吸引人折腾呀!!
..忍不住点了好几下
还不错吧?嘻嘻
多谢支持,我再接再厉!!
我用上了……~嘻嘻
提个意见,给它加上个 cursor:pointer 看着会比较好~~
恩,已经加上,多谢提醒~
嗯!写学习笔记很好!既记录自己的学习过程,也给大家一个好的教程!
对对对,就是这个意思,等回过头来再写,就懒得写了。
我需要这东西,哈哈~
你也可以考虑加上~主题折腾得不错!
经测试,sidebar前面要加#号才能正常工作。。。
你的sidebar是用ID的,当然是# 咯~~
不错的技术~~收藏之~~
多谢支持~
嘻嘻,不然俺也不折腾它了哈~
在IE6下果然杯具……侧栏直接吓掉……而且很卡。IE啊IE……
呵呵,应该有办法在IE6在正常,但个人直接无视了,为了一个IE6太耗费自己的精力了,还不如学其他新的好玩的东东去~
这个效果太炫了~~
一般一般~~(谦虚中……HOHO)
这个太帅了, 决定试下, 谢谢分享
刚试了下, 我的网站上得把 #content 改成 .content.
恩,各位主题不同,有ID和Class之分的,不过只要对应起来就没问题了!
..不会折腾~~搞不定
那过段时间再折腾吧……
很好的效果,我去试试,看是不适合我 呼呼
关闭打开侧边栏意义不是很大吧。。
各有各人的需求,关闭侧边栏更能好好的阅读主题的文章~
我为什么点过“干掉侧边栏”之后 他就一直停在“载入中…”没有“显示侧边栏”的出现
现在应该好了,跟另外一个特效冲突了,已经改过来了!
恩 现在正常了
读取网页时卡在ajax.googleapis.com,速度很慢,而且没有加载成功,然后jQuery文件应该没有加载成功。
考虑一下把你的js文件放在本地吧
GG的肯定比我服务器稳定,刷新下应该就没问题了吧?
想“育人”的林木木致敬:谢了你的这个方法~呵呵~
不用谢,让大家一起折腾是一件快乐的事!
太高深了~~~菜鸟只有飞过~~
非常不错,很实用
我的博客用了你的方法,扩大是实现了,但是sidebar不隐藏,而是跑到下面去了,请问是怎么回事?
没认真看注释吧?要修改的!
侧边栏的ID是CSIDEBAR,主体是POSTLIST,改了啊
jQuery(document).ready(function($){
$(‘.close-sidebar’).click(function() {
$(‘.close-sidebar,.csidebar’).hide();
$(‘.show-sidebar’).show();
$(‘#postlist,.post-home,#left-content-single’).animate({width: “960px”}, 1000,”easeOutBounce”); });
$(‘.show-sidebar’).click(function() {
$(‘.show-sidebar’).hide();
$(‘.close-sidebar,.csidebar’).show();
$(‘#postlist,.post-home,#left-content-single’).animate({width: “705px”}, 1000,”easeOutBounce”);});
});
是ID=“csidebars”,不是class。所以是#csidebar,不是.csidebar
对了,让干掉侧边栏不跳动,改CSS里的哪条?,
这个自己想哦,思路是单独定义“干掉侧边栏”和“召回侧边栏”的hover属性,取消margin-top属性!
是啊,左边几个是nav,然后单独定义了RSS,靠右,没有跳动。。。
可不可以帮我看一下为什么一直网页上有错误
什么错误呀?麻烦你说明白点好吗?或者加我QQ,41548682
欢迎欢迎!
很奇怪啊,我家雖然能可以做到「關閉」和「顯示」這兩個動畫,可是側邊欄就是除不了(在底部處)。可以的話,請木木同學看一下可以嗎= =?
尝试用下这段代码~ http://immmmm.com/close-show-sidebar-simple-code.html
網址更改: http://rinkaiten.zombie.jp/yamirogu/
抱歉,我已經解決了問題了。
解决了就好!折腾愉快,新年快乐!
值得学习,不知道能不能加到我的程序上
我又过来了,三分钟搞定了,膜拜啊,我转载了,虽然在我的博客首页关闭侧边栏有点别扭,在一些含大图的文章关闭还是不错的选择,这样可以完全看清图的内容
厉害!鼓掌~~不但用来耍酷,有时看长文章还是有用处地~
如何让他一开始就不显示边栏,点那个才显示边栏,请教,请留言给我,
所有事件反一反咯,代码得调整~
该怎么做,很想知道哦,我汗死了哦!郁闷,好像很难。
首先,请问文章的效果已经实现了吗?如果这个会了,那我说起来简单点,不然我就杯具了。
恩啊,已经实现了,就是想让他进去直接不显示边栏,嘿嘿,
这两个代码怎么放出来?把上面的给修改一下吗,我上面的是这个显示边栏关闭边栏 该怎么样修改?
额,还是加我Q吧,41548682,或者Gtalk~
搜索过来看看
木木同学,我请教问题来了
木木把1024*768的标准分辩率给淘汰了?你不觉得你的主题在老机器上面显示很不美观么?