A-A+
为WordPress的侧栏小工具增加浮动跟随效果
我们在浏览别人博客的时候,有时候文章或者很长,拉到底下的时候想点其他页面还点拉到最上面。就想着能不能修改一下,提高一下用户体验度。前些天在 夜央的博客看到他写了一篇这样的教程,马上着手用上他分享的代码。效果是有,但是显的有些生硬。当往下拉到侧栏没有的时候,会突然出现一个模块,视觉过程 不太友好。于是就放弃了,另觅他法。
百度谷歌上搜索了半天,找到了现在这个代码,效果可随便开一篇比较长的文章看。我把随机文章放在小工具的最后一个,当下拉时浏览器碰到随机文章的上边时,会把随机文章往下顶。
代码如下:
jQuery(document).ready(function($){ $.fn.smartFloat = function() { var position = function(element) { var top = element.position().top, pos = element.css("position"); $(window).scroll(function() { var scrolls = $(this).scrollTop(); if (scrolls > top) { if (window.XMLHttpRequest) { element.css({ position: "fixed", top: 0 }); } else { element.css({ top: scrolls }); } }else { element.css({ position: "absolute", top: top }); } }); }; return $(this).each(function() { position($(this)); }); }; //绑定,将引号中的内容替换成你想要下拉的模块的ID或者CLASS名字,如"#ABC",".ABC" $(".widget_bd_random_post_widget").smartFloat(); });
按照31行的注释做相应的修改,然后将修改后的代码放到主题需要加载的JS文件里即可。
还有另外一种漂浮的效果,代码如下:
jQuery(document).ready(function($){ //将下一行引号中的内容替换成你想要下拉的模块的ID或者CLASS名字,如"#ABC",".ABC" var $sidebar = $("#bd_random_post_widget-3"), $window = $(window), offset = $sidebar.offset(), topPadding = 50; $window.scroll(function() { if ($window.scrollTop() > offset.top) { $sidebar.stop().animate({ marginTop: $window.scrollTop() - offset.top + topPadding }); } else { $sidebar.stop().animate({ marginTop: 0 }); } }); });
添加方法和上一个代码一样,这个效果还不错,但是如果页面加载的东西多的话会有卡的感觉。
一个人一盒烟,一台电脑过一天。
需要的东西浮动跟随不错,就是怕太占资源。
感觉这代码有点占资源,如果不是必须完全没必要弄这样的效果。
这个方法实际上已经比较老了,我那里有更简单更时髦的方法。
http://www.ithmz.com/sidebar-follow-jquery.html
已经去看了。
好像很多关于代码的呀。
嘎嘎,用得同一个主题。
你的最活跃读者那里的头像,你自定义了很多个图片上去吗?为什么我的只能调用一张呢、、
用的是Gravatar全球通的头像,这套主题直接调用的,你的出现的是默认的头像吧,当用户没有自定义头像的时候就调用默认的了,就是你现在的。
懂了,回头我把默认头像再改下,自定义的好点