javascript - jQuery 熔岩灯悬停 (CSS)

标签 javascript jquery css lavalamp

我的 lava-lamp 导航基本上可以正常工作,但我有一个小问题。

我正在使用这个 LavaLamp menu plugin并试图让我的导航看起来像这样:

enter image description here

所以我让它工作了,除了我遇到的问题是当熔岩灯图像不在它们上面时我需要链接是一种颜色(黑色),当它是白色时。悬停效果很好,但问题来自类电流(默认情况下,熔岩灯悬停效果在类电流上)。

如果我将当前类(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"
    });

});​

FIDDLE

添加了彩色动画(需要缓动插件/jQuery UI)- FIDDLE

关于javascript - jQuery 熔岩灯悬停 (CSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946200/

相关文章:

java - 当我从 struts2 操作的 js 函数中获取 JSONArray 时,它是空的,我不明白为什么

javascript - jQuery 如何进行方法链接?

javascript - React setState 不更新缩减数组

javascript - 克隆的 div 未正确保留在网格中

javascript - 如果存在另一个请求,如何停止ajax请求

windows - -webkit-backface-visibility 在 Windows 上的 node-webkit 中不起作用

javascript - 当子类 = 3 时,将子类移动到其他类中

css - 转换 CSS 在 * :link, * :visited, * :hover, * :active, *:focus 上的表现

javascript - HTML5 本地存储如何确定用于存储值的域?

javascript - MongoDB删除触发器查询