只是重写插件来添加颜色?
//lavalamp plugin
(function($) {
$.fn.lavaLamp = function(o) {
o = $.extend({
fx: "linear",
speed: 500,
click: function() {}
}, o || {});
return this.each(function() {
var me = $(this),
noop = function() {},
$back = $('<li class="back"><div class="left"></div></li>').appendTo(me),
$li = $("li", this),
curr = $("li.current", this)[0] || $($li[0]).addClass("current")[0];
$li.not(".back").hover(function() {
move(this);
}, noop);
$(this).hover(noop, function() {
move(curr);
});
$li.click(function(e) {
setCurr(this);
return o.click.apply(this, [e, this]);
});
setCurr(curr);
function setCurr(el) {
$back.css({
"left": el.offsetLeft + "px",
"width": el.offsetWidth + "px"
});
curr = el;
};
function move(el) {
$(el).find('a')
.css('color', o.hover_color).end()
.siblings('li').find('a')
.css('color', o.color);
$back.each(function() {
$(this).dequeue();
}).animate({
width: el.offsetWidth,
left: el.offsetLeft
}, o.speed, o.fx);
};
});
};
})(jQuery);
用颜色调用插件
$(document).ready(function() {
$(".lavaLamp").lavaLamp({
fx: "backout",
speed: 700,
color: "#fff",
hover_color: "#000"
});
});
小提琴
添加了彩色动画(需要缓动插件/jQuery UI) - FIDDLE