【问题标题】:Getting Lavalamp jQuery plugin to work with dropdown menu?让 Lavalamp jQuery 插件与下拉菜单一起使用?
【发布时间】:2010-01-05 12:26:01
【问题描述】:

jQuery Lavalamp plugin 有问题。它与单级菜单完美配合,但在添加下拉菜单后它会有点丢失。这就是我的意思:http://screenr.com/0fS

当然,我想要实现的是当用户将鼠标悬停在子项目上时,lavalamp 背景留在投资组合项目上。

我想这是稍微改变插件的问题,所以这里是插件的完整代码。所需要的只是一种简单的方法,让 lavalamp 在<li> 的孩子悬停时停止在当前阶段,然后恢复正常工作。这是完整的插件代码供参考!

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

提前致谢。

【问题讨论】:

    标签: javascript jquery menu drop-down-menu lavalamp


    【解决方案1】:

    解决方法是将 lavalamp 中的 hover() 更改为 mouseover,如下页所示。

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

    【讨论】:

      【解决方案2】:

      我在顶级 li 中添加了额外的类并更新了 js:

      $li = $("li.top-level-item", this),
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-22
        • 1970-01-01
        相关资源
        最近更新 更多