0

我在寻找 Lavalamp 菜单解决方案时发现了这个小脚本。我不确定这是否是最好的,但看起来不错并且可以轻松修改。

但是,它在控制台中包含一个错误,我不喜欢错误,因此将不胜感激。

Uncaught TypeError: Cannot read property 'left' of null

Lavalamp 菜单原始来源

Lavalamp 菜单修复 JS Fiddle

您可以转到该 JS Fiddle 修复程序并在通过菜单时在控制台中查看它会显示该属性错误。

我不知道如何解决这个问题,所以有什么提示吗?

4

2 回答 2

1

这是由于小提琴的javascript部分的第35行。

$this.siblings('li.active')

不返回任何内容,这就是 Chrome 调试器返回错误的原因Cannot read property 'left' of null

于 2013-07-07T11:37:07.760 回答
1

在“mouseleave”分支中修复它:

        if ($this.siblings('li.active').offset()) {
            left = $this.siblings('li.active').offset().left - ($this.closest('.' + lavalamp).offset().left);
            width = $this.siblings('li.active').width();

            $this.closest('ul').next('div.floatr').css({
                "width": width + "px",
                "left": left + "px"

            });
         }
于 2013-07-07T11:45:03.943 回答