我有以下脚本
(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建议在不支持此功能的浏览器中使用以下公式:
我假设这是元素本身的滚动条,而不是整个浏览器窗口,除非元素占据整个窗口。
资料来源:
关于javascript - 普通 javascript 到 jquery - clientHeight,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10423759/