0

我正在为我的水平菜单使用 LavaLamp 脚本

http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/

活动或悬停的链接现在是灰色的。我想更改悬停(或单击)菜单项的颜色,如下所示:

http://screencast.com/t/WU02S3jF

HTML:

   `<ul class="lavaLamp">
        <li><a href="#">Home</a></li>
        <li><a href="#">Plant a tree</a></li>
        <li><a href="#">Travel</a></li>
        <li><a href="#">Ride an elephant</a></li>
    </ul>`

Javascript:

(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) {
            $back.each(function () {
                $(this).dequeue();
            }
        ).animate({
            width: el.offsetWidth,
            left: el.offsetLeft
        }, o.speed, o.fx);
        };
    });
};})(jQuery);
4

2 回答 2

0

我认为您唯一需要做的就是更改 css 背景颜色:

.lavaLampNoImage li.back {
    border: 1px solid #000;
    background-color: blue; // change this line to the correct color
    width: 9px;
    height: 30px;
    z-index: 8;
    position: absolute;
}
于 2011-08-17T17:34:50.310 回答
0

将以下内容添加到您的 css CSS 中:

.lavaLamp li a:hover {
    color: white;
    background: lightblue;
    //anything else you want to add here
}

li此外,如果您希望它在选择时也发生变化,您应该创建一个类,当它被选中时添加到链接的元素中,并在选择另一个时删除。例如,abc该类将被添加到选定的链接li元素:

.abc a {
    color: white;
    background: lightblue;
    //anything else you want to add here
}
于 2011-08-17T17:37:06.203 回答