index.hml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="pl"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <link href="style.css" rel="stylesheet" media="all" /> </head> <body> </body> </html>
prepJSfuncs.js:
function addEvent(odnosnik, zdarzenie, funkcja) { if (odnosnik.addEventListener) { odnosnik.addEventListener(zdarzenie, funkcja, false); } else { odnosnik.attachEvent("on"+zdarzenie, funkcja); } } function getElById( id ) { return document.getElementById( id ); } function getElByClassName (cl) { var retnode = []; var myclass = new RegExp('\\b'+cl+'\\b'); var elem = document.getElementsByTagName('*'); for (var i = 0; i < elem.length; i++) { var classes = elem[i].className; if (myclass.test(classes)) retnode.push(elem[i]); } return retnode; }
javascript.js
addEvent(window, 'load', start); function start() { divItems = getElByClassName('item'); for(i in divItems) { divsText[i] = divItems[i].innerHTML; } for(i in divItems) { addEvent(divItems[i], 'mouseover', function () { this.innerHTML = 'Najechano' }); addEvent(divItems[i], 'mouseout', function () { this.innerHTML = divsText[i]; }); } }
a problem polega na tym, ze gdy najadę na jakikolwiek div to wszystko jest ok, pokazuje się w jego zawartosci 'Najechano', ale gdy zjadę kursorem z któregokolwiek diva to przypisuje mu zawartosc '6'? jak to sie dzieje? nie mam pojęcia...? przed wywolaniem addEvent w petli alert(divsText[i]); w petli pokazuje ladnie kolejne 1, 2, 3, 4, 5, 6, wiec nie mam zielonego pojecia dlaczego nie chce wybrac z tablicy odpowiedniego elementu tylko caly czas ostatni... ktorego wartoscia jest '6';