滑动导航终结版

功能描述:鼠标移到上/下箭头,页面慢慢向上/下滑动,鼠标移开则停止;若点击则直接滑到页首/页尾。

核心源码来自http://kan.willin.org/?p=1333

不晓得有多少同学在用这个滑动导航的jQuery代码,在用的不妨再看看咯~

html代码+php判断,文章页才加载comt这个div:

 
<div id="shangxia">
 
	<div id="shang"></div>
 
	<?php if (is_single()) { ?><div id="comt"></div><?php } ?>
 
	<div id="xia"></div>
 
</div>

CSS相关代码,更改为fixed定位,不再兼容IE6,magin-right的400需调整:

 
#shangxia{position:fixed;top:40%;right:50%;margin-right:-400px;display:block;}
 
#shang,#comt,#xia{background:url(images/huadong.png) no-repeat;position:relative;cursor:pointer;height:25px;width:29px;margin:10px 0 0;}
 
#comt{background-position:center -30px;height:32px;}
 
#xia{background-position:center -68px;}

注:此图标确为小弟PS,若你集成在主题中发布我会当作是你重新PS的,跟我无关。可如果真直接拿去用的还发布还说是自己PS的,我将从内心深处深深得膜拜你~

jQuery代码:

 
jQuery(document).ready(function($){
 
$body=(window.opera)?(document.compatMode=="CSS1Compat"?$('html'):$('body')):$('html,body');//修复Opera滑动异常地,加过就不需要重复加了。
 
$('#shang').mouseover(function(){//鼠标移到id=shang元素上触发事件
 
		up();
 
	}).mouseout(function(){//鼠标移出事件
 
		clearTimeout(fq);
 
	}).click(function(){//点击事件
 
		$body.animate({scrollTop:0},400);//400毫秒滑动到顶部
 
});
 
$('#xia').mouseover(function(){
 
		dn();
 
	}).mouseout(function(){
 
		clearTimeout(fq);
 
	}).click(function(){
 
		$body.animate({scrollTop:$(document).height()},400);//直接取得页面高度,不再是手动指定页尾ID
 
});
 
$('#comt').click(function(){
 
	$body.animate({scrollTop:$('#comments').offset().top},400);//滑动到id=comments元素,遇到不规范的主题需调整
 
});
 
}); 
 
//下面部分放jQuery外围,几个数值不妨自行改变试试
 
function up(){
 
   $wd = $(window);
 
   $wd.scrollTop($wd.scrollTop() - 1);
 
   fq = setTimeout("up()", 50);
 
}
 
function dn(){
 
   $wd = $(window);
 
   $wd.scrollTop($wd.scrollTop() + 1);
 
   fq = setTimeout("dn()", 50);
 
}

这个关于滑动导航此篇应该算是终结篇了……

另外昨下午对评论部分也有微调:

1.增加点击评论头像快捷回复他,原来双击某条评论快捷回复仍旧保留;

2.留言时间默认隐藏,而且只输出主评论的时间;

主机格调
  1. 淘宝天下
    四月 2, 2011 13:56:13 #2

    蛮有用的,收藏了。以后改网站用。 :mrgreen:

    • 恩,折腾还是得看状态的~

  2. HzlzH
    四月 2, 2011 14:00:14 #4

    呃,本文是我原创,图标是我PS,请勿转载,谢谢。

    ——- :!: 来自米国时间的愚人节

  3. Ethan
    四月 2, 2011 14:02:14 #5

    这个,太给力了!留个言标记一下!

  4. Ethan
    四月 2, 2011 14:05:14 #6

    对了,木木,我的Gavatar在你这显示不出来,能帮我刷下缓存么。

  5. 毕扬
    四月 2, 2011 14:16:14 #7

    我靠我不是沙发,仅仅晚了46分钟

  6. shekck
    四月 2, 2011 14:33:14 #8

    想请教一下木木,这个滑动导航和以前你发布过的那个导航代码有什么区别啊?

    • 自行对比,看不出来我再解释很难理解的~

      • shekck
        四月 2, 2011 16:04:16

        看到效果了,可以慢慢上下,果然灰常强大 :roll:

        • 叶小超
          三月 21, 2012 16:06:16

          :?: 我怎么没有看到效果呢?怎么看效果啊?我是新手,求指导或者来完整代码给我也行,谢谢

  7. MOPVHS
    四月 2, 2011 14:35:14 #9

    其实我现在的头像,就是当年自个PS huadong.png 的时候诞生的~~~ :twisted: :twisted: :twisted:

  8. Fanr
    四月 2, 2011 15:02:15 #10

    :idea: 木木调节的这个速度正好适合阅读,哈哈

  9. 原来还可以滑动啊。。我来木木这看完文字直接就一拉到底评论了。。 :eek:

    • 呵呵,有时看看别人评论的时候挺有用~

  10. 无冷
    四月 2, 2011 17:48:17 #12

    这个不错哦,适合滑动条

  11. 园子
    四月 2, 2011 17:58:17 #13

    这下折腾的更加人性化了
    哈哈。

  12. Maplews
    四月 2, 2011 18:08:18 #14

    强悍了… W大师那里的也是这样的 :lol:

  13. evil
    四月 2, 2011 18:18:18 #16

    滑动效果越来越多的博客应用了 :mrgreen:

    • 应该是,反正偶尔随便逛逛都能看到这个滚动条~

  14. 嘿嘿,其实,那里是不用PHP可以搞定D。
    我一直在用这个:

    if($('#respond').length>0)
    $('#cmt').show();
    else
    $('#cmt').hide();

    • 恩,也是一个思路,用js来唯一的不足就是加载慢时会出现延时……

  15. ZH CEXO
    四月 2, 2011 19:09:19 #18

    感觉这句话还真有用
    $body=(window.opera)?(document.compatMode==”CSS1Compat”?$(‘html’):$(‘body’)):$(‘html,body’);
    你的主题越来越完善了

    • 这句是照顾Opera浏览器,无视的可以不加,直接用$(‘html,body’)

      • 小邪
        四月 3, 2011 07:34:7

        Opear浏览器很早的时候,我写样式,就出现过IE6 Chrome safari Firefox神马的全正常,只有Opera里面不对的情况,太悲催了。

  16. Fanr
    四月 2, 2011 19:38:19 #19

    :mrgreen: 果断搞上去了~

  17. Demon
    四月 2, 2011 19:39:19 #20

    :???: 代码…晕了。先收藏以后备用

  18. Dianso
    四月 2, 2011 19:58:19 #21

    新主题好漂亮

    • 终于有人说漂亮了~感动

  19. vxlinjie@qq.com
    四月 2, 2011 20:24:20 #22

    :arrow: :arrow: :arrow: 这套表情叫什么来着,有大一点的吗?

  20. Junan
    四月 2, 2011 21:54:21 #25

    :razz: 蛮不错的~~

  21. heson
    四月 2, 2011 22:38:22 #26

    敢不敢移动再快一点?

  22. EIIE
    四月 2, 2011 23:40:23 #27

    我的问题?
    可以 鼠标停留 向上
    不可以 鼠标停留 向下

      • EIIE
        四月 3, 2011 00:46:0

        火狐没问题…
        但我用的chrome 不行
        就是在顶部的时候会向下一点然后就停了……

  23. :?: 滑动的速度能不能再慢点…要不,改25试试?

  24. wmtimes
    四月 4, 2011 08:37:8 #29

    老技术添加了新活力啊。

  25. Microhu
    四月 7, 2011 18:43:18 #30

    为什么啥我用了一下,鼠标放上去,就动了一下,它就不动了. :arrow:

      • 還是一樣,檢查過了.不知道為什麼….好囧啊

  26. 峄峰
    四月 11, 2011 16:36:16 #31

    ……jQuery 外围是什么地方?没见过这种说法,囧。在我这里只实现了原来的效果,没有鼠标悬浮的滑动。:arrow:

    • 四月 29, 2011 12:14:12

      我也有一樣的問題!麻煩解答嚕! :roll:

      • 四月 29, 2011 12:24:12

        煩請好心人解答! :cry:

        • 你看我放哪儿就放哪儿呗~

          • 四月 29, 2011 23:14:23

            可是滑鼠一上去~他就停了~不會像你的一樣,持續移動耶= = 不好意思呀~新手問題多了點^^”

            • 这个可能是js代码冲突什么造成,查问题就比较麻烦了……

  27. 木木啊 好像你的博客这个玩意失灵啦。。。什么情况

  28. 呵呵 又好了,,刷新下 又好了。。。汗

    • 可能js没加载进来吧……

  29. 李昂
    四月 13, 2011 20:35:20 #34

    :arrow: 我是个程序白痴啊,我想找人帮我弄这个小功能,我的程序是ECSHOP的, 如果有大侠乐意指点一下,请加我Q 97051156 拜谢!

  30. 竹箫
    四月 16, 2011 18:56:18 #35

    介个PNG图片你没有放出来?

  31. 太好看了。。我网站已经用上了。。但是文章页还不知道怎么调用。。
    研究中,郁闷,早知道开始就用WP了。。 :cry:

  32. 情歌
    五月 6, 2011 16:01:16 #37

    这个png图片在哪下载 :arrow:

  33. Honwhy
    五月 11, 2011 22:16:22 #38

    先收藏,不知我的博客能不能实现这种效果。

    • jQuery效果是通用的,就是可能与其他js造成冲突~

  34. Honwhy
    五月 12, 2011 15:58:15 #39

    这里面没有说到调用js文件的方法或代码,我尝试了几遍,但还是没有什么效果。

    • 不说应该这些是最基本的~

      • Honwhy
        五月 13, 2011 19:16:19

        我刚刚起步,html+CSS以前在使用博客大巴混过,昨晚确实体验到了jquery的豪华效果的实现能力,不过我发现你给出的代码真不错,不过有说明的话对我来说会好受一点。

  35. icoony
    六月 4, 2011 17:13:17 #40

    木大大求教,我完整copy了你的代码,但是目前的问题是,mouseover 不响应函数,也就不会缓慢移动。其他正常,求解…之前我以为是备注的汉字导致的,后来删掉汉字也一样(我修改的国外主题,一直汉字都必须用utf8码来替代,所以才有此怀疑)

    • 是不是已经解决了?我刚用chrome很正常~

      • icoony
        六月 6, 2011 00:35:0

        恩,对的,已经解决了,忘了过来跟你说,哈哈哈~!是jq库调用的问题,之前按啊照你的文章 调用google的,后来改为本地的就好了,也许是库版本不同,也许是google服务器国内访问不稳定。还是很谢谢提供方法哈~!导航图片我copy走了,稍作修改了,适合自己的主题。哈哈哈

  36. don
    十月 8, 2011 14:50:14 #42

    :arrow: :arrow: :arrow:

    木木大师

    俺通过:两日的摸索。。

    终于是把footer,header,CSS的代码搞上去了

    但是为什么我的首页和“文艺范儿”那页面滑动条失效呢?

    还有其他的页面偶尔会出现滑动条失效

    为什么呢?实在自己找不出办法,唯有求教,望不吝时而教之,感激不尽

    • 我才是加载多个jQuery库引起的~

      • don
        十月 10, 2011 07:58:7

        好像~~解决了~~可能是缓存问题。。不知道。。刚加完代码是各种错乱。。嘿嘿。。 :mrgreen: :mrgreen:

  37. Shangk
    十一月 25, 2011 09:28:9 #43

    你的博客文章太长了。
    建议你也加上个华东导航。

    • 林木木
      十一月 25, 2011 10:42:10

      现在主题没用js~

  38. Phoenix
    三月 13, 2012 05:23:5 #44

    用上了,代码短小精湛,非常实用。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">