Hallo,
Eine Möglichkeit wäre, dass Du Deine "over" und "out"-Funktionen in die Schleife in dem JavaScript schreibst, und sie dann nur für das letzte (also das 8.) Element ausfürhst:
// Nummer des letzten Elements
var LAST_LI_NUMBER = 7;
for (var i=0; i<getElm.length; i++) {
getElm[i].onmouseover=function() {
this.className+=" iehover";
if (i == LAST_LI_NUMBER) {over();}
}
getElm[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" iehover\\b"), "");
if (i == LAST_LI_NUMBER) {out();}
}
}
Das müsste als Quick & Dirtly-Lösung funktionieren.
Wenn man es sauber aufsetzen will, müsste man vielleicht sowas wie einen kleinen Event-Manager basteln, bei dem sich MouseOver und Mouseout-Funktionen registrieren müssen.
So als Entwurf (ungetestet und geht sicher auch schöner):
function MyEventManager (element) {
this.onMouseOver = new Array();
this.onMouseOut = new Array();
element.onMouseOver = function () {this.handleEvents('onMouseOver');}
element.onMouseOut = function () {this.handleEvents('onMouseOut');}
}
MyEventManager.prototype.handleEvents (eventType) {
for (var i = 0; i < this[eventType].length; i++) {
this[eventType][i]();
}
}
MyEvenetManager.prototype.registerFunction (func, eventType) {
this[eventType].push(func);
}
var events = new MyEventManager(document.getElementById("someElement"));
events.register(function () {alert("mOUSEoVER");}, 'onMouseOver');
events.register(function () {alert("MouseOut");}, 'onMouseOut');