WordPress 之链接平移 JQuery 特效
前段时间给 WordPress 添加了页面载入中提示效果,这是一个 JQuery 的特效,使用前必须先加载一下几十K之巨的 JQuery 库,而我整个 WordPress 也就这么一个地方利用到了 JQuery 库,如果不充分利用起来似乎有些浪费,所以今天又加上了两个。
主要介绍下 mouseover 链接右平移效果。本人表达能力比较差,所以还是直接看效果吧,请见侧边栏。将鼠标移至无序列表的链接上,就会发现文本链接向右移动了一下下,鼠标移开后,又恢复至原位。
方法如下:
1、载入 JQuery 库,个人比较喜欢 JQuery 1.2系列的版本,短小精悍,太大浪费,俺用不到。
2、关键代码:
jQuery.fn.nudge = function(a) {a = jQuery.extend({amount: 20,duration: 300,property: "padding",direction: "left",toCallback: function() {},fromCallback: function() {}},a);this.each(function() {var h = jQuery(this);var e = a;var d = e.direction;var g = e.property + d.substring(0, 1).toUpperCase() + d.substring(1, d.length);var c = h.css(g);var f = {};f[g] = parseInt(e.amount) + parseInt(c);var b = {};b[g] = c;h.hover(function() {h.stop().animate(f, e.duration, "", e.toCallback)},function() {h.stop().animate(b, e.duration, "", e.fromCallback)})});return this};jQuery(".sidebar li a").nudge({property: "padding",direction: "left",amount: 6,duration: 166});
其中 .sidebar li a 就是控制需要移动的链接,可以看到我这里只要求侧边栏无序列表的链接移动,如果要整站效果,那就直接一个 a 就可以了,如果还需指定添加其他部分,就用半角逗号隔开,如.sidebar li a,h2 a
另外还需要注意的就是加载顺序,JQuery 库是老大,必须放在前面,Over~
2月20日 更新:
感谢 hiro 同学,他又提供了一个代码更加简洁,效果完全相同的方法,第一步还是载入 JQuery 库,第二步是加入以下 JS。
$('.sidebar li a').hover(function() {
$(this).stop().animate({'left': '5px'}, 'fast');
}, function() {
$(this).stop().animate({'left': '0px'}, 'fast');
});
$(this).stop().animate({'left': '5px'}, 'fast');
}, function() {
$(this).stop().animate({'left': '0px'}, 'fast');
});
第三步,加入以下 CSS:
.sidebar li a {position:relative;}
效果相同,代码当然是越短越好啦,不错不错~
-
JQ 完善 Wordpress 友链的 Favicon2010年02月21日 -
个性化 Wordpress 侧边栏2009年06月27日 -
jQuery 水平拖动效果2011年03月4日 -
Wordpress 速度优化之 WP-PostViews 插件2011年02月9日
Pingback: 链接平移与侧边滑动导航栏 - 星期九
刚有看了一下你的源码,发现你JQuery只在底部加载了一下!
我现在用的Willin大叔的模版,发现去掉原来的加载项后,模版会自动回载默认的JQuery,头大!!能有什么办法去原来默认回载项吗?谢谢 !
你可以参考一下 Willin 大湿的这篇文章:http://kan.willin.org/?p=1325
Pingback: 简单几句话,实现文字平移 | Jauia's Blog
请教万哥,如果不想让某个部分评议用什么方法?如何定义style:none?
$('.sidebar li a:not(.recent li a,.hot li a)')
这样,.recent li a 和 .hot li a 就被排除了
比如我要去掉.sidebar ul li.widget_text{ line-height:20px;}的效果,怎么弄?
这个jquery和line-height没有关系的,要去掉这个效果,修改CSS就可以了
老万我刚添加用你的代码在opera下没问题,但是精简的代码会跳错。。。
opera对脚本支持都不太好的
我和你的主题一样的,我想问问相关日志、文章页面的侧边栏怎么实现平移? 谢谢万哥拉
看看这篇吧:http://wange.im/mouseover-link-slide-for-wordpress.html
相关日志得修改下代码吗?
不错,支持,有空使用了
搞定.
但有个问题。
如果对象是纯CSS的话,就回不了原位.
Pingback: 简单实现WordPress 链接平移特效 | 壹品集
折腾了一下,不过发现在IE下我的相关日志那里,本来所有链接都是一行一行的显示,(一条链接一行显示,多余的字符会自动隐藏)但是发现加了这个效果后,多余的文字全跑出来了,而你这里的相关日志处都没问题呢?我看你也有几篇日志显示不完,隐藏了部分文字啊。
overflow:hidden;这样就可以了
问题是如果不加特效是没问题的,好像原本就有overflow:hidden; CSS,后来加了特效后就变形了,还有我也弄了一个TAB切换的功能,那个地方是死活加不上效果
不放心的话可以把li和a都加上overflow:hidden;
再请教一下,如何把不同的JS合并到一个JS中?因为head那里加载好多个JS看着不爽,有的JS只有1-2K大小,想把他们合并在一块,不知道该如何操作?自己试了几次放上去,JS就失效了
合并JS的话只要把JS放在一个文件里就可以了
这个效果好玩,折腾下去!
我搞定了~~~谢谢 又学习了 哈哈
哈哈,我看到了耶,双人博客,不错不错呀
缩水版的效果不行,只平移单个元素,我那个主题不好看
我现在用的就是缩水版,你看效果如何呀?
你这还好,我那链接后紧跟文字用缩水版就挤到一起来,我试了懒的改嘿嘿
你说的现象我在IE下也有发现,不过我就尽量不超出宽度,这样就好了,呵呵
万戈,问个傻瓜问题怎么调入JQuery库呢?
请问把代码放在什么文件啊
可以新建一个JS,也可以像我这样把JS合并到其他JS一起
这样显得博客更精致了,喜欢
呵呵,谢谢,我还加了不少JQ特效呢
不会程序,周末按照方法做一次,看能不能成功!
我也不太会,只是照搬的代码
你能成功,我也学习下,呵呵!
wordpress菜鸟来看看。。。。
确实是个学习的好地方哦
不知道原代码万哥哪弄来的哦,愣是没看懂前面一大堆代码……后面简介的就好多了!
我从别人网站的JS中扒出来的,呵呵
嗯。很不错哈。我得先把JS搞清楚了先~
发现灌水最正常的是IE……
用啥灌不正常?
那是我昨天正在调试来着,呵呵
。。。你有M我吗?没收到啊
你说的是AJAX吧,建议你看看这篇文章:
http://willin.heliohost.org/?p=1271
强大的JQuery被你一点点的给占有了
我要完全占有
越来越多特效了,我刚好相反,正在慢慢减少特效
特效我还没玩过呢,嘿嘿,先玩一段时间
真是神奇,我连css都没学明白呢~~~
问:要简单学习一下JQuery需要什么基础么?
最好是要有HTML基础,会点javascript那就更好了
JavaScript还不怎么会,html还可以吧,也没仔细学过。我要找个时间了解一下咯~~
同上……
前来拜读新作
万戈兄的新主题如何了?
好炫啊。。jq我还不会用
就是抄抄别人的代码,很简单啦~
这个可以试试,话说前面那个显示评论发布时间的效果怎么找都找不到
不知道这次的能不能弄好
hiro那个更好~~~~

...要好好学习啦~
哈哈~~JQ我不怎么会
老弟,今天是不是一直在调整啊,效果一个一个的。
是啊,上午一直在测试,都是在线搞的
都是高手啊,jquery一点也不懂
我也只是照搬别人的代码用用,嘿
你也挺浪费的,没那么复杂。
只需
css:
.sidebar li a { position:relative;}
js:
$('.sidebar li a').hover(function() {
$(this).stop().animate({'left': '5px'}, 'slow');
}, function() {
$(this).stop().animate({'left': '0px'}, 'slow');
});
即可实现,效果请看我的友情链接的移动效果
哇,这个更好,谢谢啦
我用这种方法在opera下当鼠标第一次放到链接上时,链接会迅速跳出页面然后归位,之后鼠标再碰这个链接就平移正常了﹃_﹃〣
估计这是个人问题,评论都没人反馈,求教~
opera对处理脚本上是有残缺的,不是你的个人问题
边距要控制好,要不然冒出去就不好看了,你的侧边栏好宽阔。
冒出去的都被我overflow:hidden啦,不怕不怕
jq的效果就是酷
是啊,我再挖掘下有什么特效可以加上的,嘿嘿
路过不看
可怜的雯雯上班啦~
上班继续打呀,哈哈,不过今天没时间陪你玩了,等会我就上火车回上海去咯
谁上班打牌啦,俺是好同志好吧
火速过来围观下~~
因为工作的原因,以前接触extjs很多,jquery倒是没有用过,今年打算开始学jquery了,嘿嘿~
我离JQ还太遥远,只能抄现成的用
听说前几天的时候WP官网DOWN机,导致很多的博客无法正常运作了,不知道Life的博客有没有受影响?
WP官网DOWN机和我无关啊,我不是用托管的,独立服务器,不怕不怕
哈哈
自己打符号打出来了~!
我又全面重写了该主题的JS部分,大大精简
我从头看了两遍~~还是没有明白这是啥效果~~!
我只知道表情发不出来了~~怎么点都点不出来~!
现在再看看?
什么效果啊 我咋弄不出来。。。不会是WIN7的事吧。。。额,表情在IE8下点着好像没用了 啊 崩溃
是我错,不当心把一句关键代码注释掉了
Chrome 5.X表示没有效果....点击”调至评论“,按表情没反应... = =
这个....我明天在来看看....
现在好了,昨天你来的时候正巧我在调试,呵呵
今天效果灰常强大~哈哈!
我也来折腾啦!
发现无论在哪留评论的地方都是显示名字及邮箱地址的啊,这个是明天的内容?还是以前那个“更改用户”链接比较清爽,嗯嗯。
活着就是折腾,你还真有闲心弄这些东西啊。
只要是和WP有关的,我就爱折腾
....
万戈啊,现在有没准折腾微波啊。我昨天用我的古董机天宇A995大屏手写的下来了UC7.1,上微波好爽啊,手指滑屏。
微波是啥?
我日,推,微博。
老哥不会这么OUT吧
老弟微波用户名给我,我follow你
@wange1228
我的微博只用twitter,不用其他的
我的绑定了11个微波,现在打算同步我的博客。
网易和收胡还有QQ的还没同步,那么多人气一起推广博客想想都刺激。
我日,我挂了半小时都没抢都沙发。
说明你抢沙发不专心呀,哈哈
我是趴在本本上的。我现在很累,头好痛,谁到现在才起。
板凳
老哥也相当迅速啊
我洗澡刚回来,不然可能能弄到沙发的,但也还好板凳比地板好。
鄙视你,刺激我!!!!
沙`发
沙发神人
挤一下嘛!
为啥我的Opera 10.10 显示是9.80啊?在这里显示也有点异常……囧
有正常了,只是没法插入表情……
现在可以了,昨晚调试出错
还是不正常,楼里弄夹层完了下边空白一大片……