我有以下脚本
(function(win){
var doc = win.document;
if (doc.querySelector && doc.addEventListener) {
var toggler = doc.querySelector('.toggle-menu')
var menu = doc.querySelector('.main-nav ul');
menu.style.height = '0px';
toggler.addEventListener('click',function(e) {
e.preventDefault();
if (menu.style.height == '0px') {
menu.style.height = 'auto';
if (menu.clientHeight != 0) {
menu.style.height = menu.clientHeight+'px';
}
} else {
menu.style.height = '0px';
}
});
}
})(this);
该脚本的 jQuery 版本是什么,因为我找不到与 clientHeight 等效的 jQuery。
最佳答案
clientHeight
不是 jQuery 属性。它是在 Internet Explorer 中引入的,但不是 W3C 规范的一部分。看起来它只在 Firefox 和 Internet Explorer 中受支持。不过,我刚刚测试过它可以在最新版本的 Chrome 中运行。不确定结果是否是跨浏览器的标准,尽管我在下面发布的链接表明不是。
此外,Mozilla 建议在不支持它的浏览器中使用以下公式:
clientHeight can be calculated as CSS height + CSS padding - height of horizontal scrollbar (if present).
我假设这是元素本身的滚动条,而不是整个浏览器窗口,除非该元素占据了整个窗口。
来源:
关于javascript - 纯 javascript 到 jquery - clientHeight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423759/