我的站點菜單在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/)。 –