我的 lava-lamp 导航基本上可以正常工作,但我有一个小问题。
我正在使用这个 LavaLamp menu plugin并试图让我的导航看起来像这样:
所以我让它工作了,除了我遇到的问题是当熔岩灯图像不在它们上面时我需要链接是一种颜色(黑色),当它是白色时。悬停效果很好,但问题来自类电流(默认情况下,熔岩灯悬停效果在类电流上)。
如果我将当前类(class)的链接设置为白色,即使您将鼠标悬停在不同的导航链接上,该链接也会保持白色。
我假设一些简单的 JavaScript 可以解决这个问题,但我不是很了解它,如果有人可以与我分享解决方案,我将不胜感激。
最佳答案
只需重写插件即可添加颜色?
//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
关于javascript - jQuery 熔岩灯悬停 (CSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946200/