我想用下拉菜单制作一个基础网站。is-dropdown-submenu-parent使链接在Opera和Chrome上不可点击
不过,我注意到,当我点击一些链接有控制台
Uncaught TypeError: t.getBoundingClientRect is not a function
at i (catalog-list-pack-d7c9d20e63.js:4) at Object.e [as ImNotTouchingYou] (catalog-list-pack-d7c9d20e63.js:4) at e.value (catalog-list-pack-d7c9d20e63.js:5) at HTMLLIElement.s (catalog-list-pack-d7c9d20e63.js:5) at HTMLLIElement.dispatch (catalog-list-pack-d7c9d20e63.js:2) at HTMLLIElement.y.handle (catalog-list-pack-d7c9d20e63.js:2)
此代码,打破从基础插件上的错误。
我的调试让我得出结论,如果我删除类is-dropdown-submenu-parent
一切工作正常。
这个课程来自于基础课,恐怕我会在其他地方插入错误,因为我不明白发生了什么。
另一件事 - 它不适用于Chrome和Opera。它适用于Mozzila甚至微软边缘(在新的Internet Explorer)
这里是下拉是如何创建的
<div class="MegaMenu__row">
<div class="MegaMenu__listColumn">
<dt class="is-dropdown-submenu-parent MegaMenu__item MegaMenu__item--
header MegaMenu__item--no-bullet">
<a href="/somewhere</a>
</dt>
和下面是更多的联系,其工作的代码。
关于打破其最小化插件,并从中取得一切的代码是棘手的,但这里是打破的功能。我试图让它更具可读性,我不知道Dave是谁。
function f(t,e) {
if(t=t.length?t[0]:t,t===window||t===document)
throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
var f=t.getBoundingClientRect(),
o=t.parentNode.getBoundingClientRect(),
i=document.body.getBoundingClientRect(),
s=window.pageYOffset,
h=window.pageXOffset;
return{
width:f.width,
height:f.height,
offset:{top:f.top+s,left:f.left+h},
parentDims:{
width: o.width,
height: o.height,
offset{
top:o.top+s,
left:o.left+h
}
},
windowDims:{
width:i.width,
height:i.height,
offset:{
top:s,
left:h
}
}
}
}
有人可以向我解释为什么这个js函数在Opera和Chrome上破坏了吗?
你有没有想过这个? – JuanR
不......我只是想“不会修复那个”。现在不是我的问题 –