我有以下脚本
(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);
Run Code Online (Sandbox Code Playgroud)
该脚本的jQuery版本是什么,因为我找不到与clientHeight等效的jQuery.
clientHeight不是jQuery属性.它是在Internet Explorer中引入的,但不是W3C规范的一部分.它看起来只在Firefox和Internet Explorer中受支持.我刚刚测试过它可以在最新版本的Chrome中运行.不确定结果是否是浏览器的标准结果,尽管我在下面发布的链接表明没有.
此外,Mozilla建议对不支持它的浏览器使用以下公式:
clientHeight可以计算为CSS高度+ CSS填充 - 水平滚动条的高度(如果存在).
我假设这是元素本身的滚动条,而不是整个浏览器窗口,除非元素占用整个窗口.
资料来源:
| 归档时间: |
|
| 查看次数: |
13411 次 |
| 最近记录: |