私はこのコードを持っています
if( !mobilecheck() ) {
this.menu.addEventListener( 'mouseover', function(ev) {
self._openMenu();
document.addEventListener( self.eventtype, self.bodyClickFn );
} );
this.submenu1.addEventListener( 'mouseover', function(ev) {
self._openSubMenu1();
document.addEventListener( self.eventtype, self.bodyClickFn );
} );
this.submenu2.addEventListener( 'mouseover', function(ev) {
self._openSubMenu2();
document.addEventListener( self.eventtype, self.bodyClickFn );
} );
}
交換できるようにしたい
this.submenu1.addEventListener( 'mouseover', function(ev) {
self._openSubMenu1();
document.addEventListener( self.eventtype, self.bodyClickFn );
} );
と
this.submenu[i].addEventListener( 'mouseover', function(ev) {
self._openSubMenu[i]();
document.addEventListener( self.eventtype, self.bodyClickFn );
} );
そしてその方法でコードを簡素化します。
利用した
for (var i = 0; i <= 2; i++) { code above }
しかし、Firebug で「TypeError: this.submenu[i] is undefined」が表示されます。
私はjavascriptとjqueryの初心者なので、これは簡単ではありません。