내 사이트 메뉴가 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');
}
}
}
IE9 이상의 최신 브라우저에서는 .getElementsByClassName()이 정상적으로 작동해야합니다. IE8 이하에서는 지원하지 않습니다. IE11의 개발자 콘솔에 오류가 표시됩니까? (예 : Prototype 또는 jQuery와 같은) 의존성이 있습니까? JSFiddle 또는 유사하게 문제를 설명 할 수 있습니까? –
예 primary_nav 행에 도달하는 F12 메뉴에서 오류가 발생합니다. "정의되지 않은 null 참조의 'getElementsByClass Name'속성을 가져올 수 없습니다."라고 생각하지는 않습니다. 문제는 jprofleetproducts.com에서 IE 11에서 메뉴가 드롭 다운되지 않습니다.이 JSFiddle을 사용해 보겠습니다. – user2091722
다른 브라우저에서도 오류가 발생합니다. document.getElementsByClassName ('primary_nav')'는 class = "primary_nav"'가없는 문서가 없기 때문에 아무 것도 반환하지 않습니다. 'accordion.pack.js'에도 오류가 있습니다. 또한 [Prototype 1.6.0] (http://prototypejs.org/)에 의존하고 있습니다. –