Use of auto increment in JavaScript and jquery -
i have code
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 ); } ); } i want able replace
this.submenu1.addeventlistener( 'mouseover', function(ev) { self._opensubmenu1(); document.addeventlistener( self.eventtype, self.bodyclickfn ); } ); with
this.submenu[i].addeventlistener( 'mouseover', function(ev) { self._opensubmenu[i](); document.addeventlistener( self.eventtype, self.bodyclickfn ); } ); and way simplify code.
i have used
for (var = 0; <= 2; i++) { code above } but "typeerror: this.submenu[i] undefined" in firebug.
i beginner in javascript , jquery not easy me.
assuming you're trying avoid repeating code , use [i] index access each variable, can putting jquery objects array instead of individual variables. can replace this:
this.subtrigger = []; this.subtrigger[0] = this.el.queryselector( '.submenu0' ); this.subtrigger[1] = this.el.queryselector( '.submenu1' ); this.subtrigger[2] = this.el.queryselector( '.submenu2' ); with this, can access them index.
this.subtrigger = []; (var = 0; <= 2; i++) { this.subtrigger[i] = this.el.queryselector('.submenu' + i); } note: if first object doesn't have "0" suffix, have special case code object.
Comments
Post a Comment