ドロップダウンメニューで動作するようにLavalamp jQueryプラグインを取得しますか?

StackOverflow https://stackoverflow.com/questions/2005939

質問

私は jQueryのプラグインLavalampするに問題があります。これは、単一レベルのメニューで完璧に動作しますが、ドロップダウンを追加した後にそれが失われたビットを取得します。ここで私の意味は次のとおりです。 http://screenr.com/0fSする

もちろん私が達成したいものを、ユーザーがサブ項目の上に置いたときにポートフォリオ品目に滞在するlavalamp背景です。

私はそれが少しプラグインを変更することの問題だと思うので、ここでプラグインの完全なコードです。必要なのは<li>の子が推移し、その後、通常の後に作業に戻っているときに、現在の段階でlavalamp停止をするだけの簡単な方法です。ここでは、参照のための完全なプラグインのコードです!

(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);`

事前に感謝します。

役に立ちましたか?

解決

このため修正は次ページのショーとしてマウスオーバーするlavalamp中)(ホバーを変更することです..

http://hekimian-williams.com/?p=146する

他のヒント

私は、トップレベルの李に追加のクラスを追加し、JSを更新します:

$li = $("li.top-level-item", this),
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top