本文介绍的滑动效果,演示见本站文章页导航栏(关闭边栏)。之前在林木木的博客看到《关闭/显示侧边栏》一文,忍不住试了一下,但是对实际效果不太满意,于是一直没用。昨天翻看 jQuery 参考时,看到 1.4 版之后新出的几个函数,又想起“干掉边栏”这事,放上一试,感觉效果不坏,于是就有了这篇文章。
要实现此效果,首先需要加载 1.4 或更新版本的 jQuery 库:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"><!--mce:0--></script>
Html(加一个判断语句,只在文章页显示)
<?php if (is_single()) { ?> <li id="close-sidebar"><a>关闭边栏</a></li> <?php } ?>
CSS(显示小手)
#close-sidebar{cursor:pointer}
JS(delay为新增函数)
$('#close-sidebar a').toggle(function(){ $(this).text("显示边栏"); $('#sidebar').slideUp(400);//用400毫秒的时间收起边栏 $('#main').delay(500).animate({width: "930px"}, 600);//花500毫秒等待边栏收起后,用600毫秒的时间加宽主栏 },function(){ $(this).text("关闭边栏"); $('#main').animate({width: "649px"}, 600); $('#sidebar').delay(700).slideDown(400); });
补充:如果不想用jquery 1.4实现,可以使用以下代码:
$('#close-sidebar a').toggle(function(){ $(this).text("显示边栏"); $('#sidebar').slideUp(400, function(){$('#main').animate({width: "930px"}, 600);}); },function(){ $(this).text("关闭边栏"); $('#main').animate({width: "649px"}, 600, function(){$('#sidebar').slideDown(400);}); });
支持不错,顶下 学习了、
可惜技术不行,不敢实验~~
主题我已经基本搞定了,就不用麻烦老四了哈~~
@vv
自己动手,丰衣足食
效果很好
评论那一块没有相应的变宽
@Louis Han
控制那一块宽度的css代码比较多,太麻烦了
@老四
嘿嘿,俺是代码白痴,只是简单的替换而已
我加载jQuery很不稳定,是不是应该把这个http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
上传上去比较好呢?
@pazz7ven
1.4 以上版本对 length 人判断很奇怪,但对这个效果没有影响,你可以试试
delay 这个新增的函数的确是很好用!
@林木木
jquery1.4 太大了,换个方法用1.26同样可以实现
这个效果好漂亮
只关闭打不开是什么原因
你这些代码都放在哪里啊?菜鸟路过。请指教一下。
呵呵,这些我还是不用了,出现了问题不晓得怎么解决。
不知道什么问题,点击关闭没用。
Pingback: 开关侧边栏效果 | ShEkCk
不会啊 能不能详细点啊~ 具体放到什么位置啊~ 有没有基础教程 郁闷..弄不出来
效果不错……拿走试试去了……(*^_^*)