Sin*_*ton 5 javascript css jquery console.log
这是一个非常烦人的错误,似乎有关于此控制台错误的各种问题.在使用chrome的控制台中,它并没有给我很多帮助.
/**
* Dropdown menu positioning
*/
loc.dropMenuPositioning = function (){
var dropMenu = $('.js-dropdown-item-wrap');
var mainNavigationOffset = $('.js-nav-container > ul').offset();
var mainNavigationPosition = mainNavigationOffset.left;
dropMenu.css({'left' : mainNavigationPosition - 60});
};
Run Code Online (Sandbox Code Playgroud)
对不起,我在这个问题上没有更多的内容.任何帮助将不胜感激.谢谢.
您正在读取上一行返回的对象留下的属性。失败的行是:
var mainNavigationPosition = mainNavigationOffset.left;
Run Code Online (Sandbox Code Playgroud)
该错误意味着 mainNavigationOffset 未定义。
因为 mainNavigationOffset 设置为:
var mainNavigationOffset = $('.js-nav-container > ul').offset();
Run Code Online (Sandbox Code Playgroud)
jquery 可能无法获取元素 $('.js-nav-container > ul') 的偏移量。
正如 jquery 文档所述:
注意:jQuery 不支持获取隐藏元素的偏移坐标,也不支持在 body 元素上设置边框、边距或填充。
虽然可以获取设置了visibility:hidden的元素的坐标,但display:none被排除在渲染树之外,因此具有未定义的位置。
检查该元素是否确实可见。
另一个选择(这似乎是真正发生的事情)是 jquery 表达式:
$('.js-nav-container > ul')
Run Code Online (Sandbox Code Playgroud)
不返回任何元素。
要查看元素是否可见,可以使用 chrome 开发工具:
或者您可以简单地在控制台中执行:
$('.js-nav-container > ul').css("display");
$('.js-nav-container > ul').css("visibility");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4998 次 |
| 最近记录: |