我的站点菜单在IE 11中停止工作我仍在学习,但我需要帮助来解决此问题。我发布我认为的问题是。我不明白primary_nav。这一切都是由一个人在我面前建立的。我一直在阅读这个(getElementsByClassName)自IE 8以来不再好,但一直工作到现在。JavaScript IE 11
Navigation.prototype = {
initialize : function() {
this.bound_show_menu = this.show_menu.bindAsEventListener(this);
this.bound_hide_menu = this.hide_menu.bindAsEventListener(this);
var drop_menus = document.getElementsByClassName('primary_nav')[0].getElementsByClassName('drop');
for (i=0; i<drop_menus.length; i++) {
Element.extend(drop_menus[i]);
Event.observe(drop_menus[i], 'mouseover', this.show_menu);
Event.observe(drop_menus[i], 'mouseout', this.hide_menu);
}
},
show_menu : function (event) {
var elt = Event.element(event);
if (elt.hasClassName('drop')) {
elt.addClassName('over');
} else {
elt.up('.drop').addClassName('over');
}
},
hide_menu : function (event) {
var elt = Event.element(event);
if (elt.hasClassName('drop')) {
elt.removeClassName('over');
} else {
elt.up('.drop').removeClassName('over');
}
}
}
'.getElementsByClassName()'在现代浏览器中应该没问题,包括IE9以上。 IE8及更低版本不支持它。 您是否在IE11的开发人员控制台中看到任何错误?你有任何依赖关系(例如Prototype或jQuery?)你可以把JSFiddle或类似的东西放在一起来展示问题吗? –
是的我在F12菜单上遇到了primary_nav行错误,错误是“无法获取未定义或空引用的属性'getElementsByClass名称'”依赖不知道我不这么认为。问题出在jprofleetproducts.com和菜单不下拉在IE 11中。我会尝试这个JSFiddle。 – user2091722
您在其他浏览器中也遇到了该错误。 'document.getElementsByClassName('primary_nav')'没有返回任何东西,因为文档里没有什么'class =“primary_nav”'。 'accordion.pack.js'也有错误。你也有依赖[Prototype 1.6.0](http://prototypejs.org/)。 –