Как изменить цвет ссылки при наведении курсора или щелкнув по меню javery lavalamp? - PullRequest
0 голосов
/ 17 августа 2011

Я использую скрипт 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);

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Добавьте следующее в 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
}
0 голосов
/ 17 августа 2011

Я думаю, единственное, что вам нужно сделать, это изменить цвет фона 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;
}
...