Witam posiadam następujące pliki:
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">
<title>An XHTML 1.0 Strict standard template
</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" /> <script type="text/javascript" src="prepJSfuncs.js"></script> <script type="text/javascript" src="javascript.js"></script> <link href="style.css" rel="stylesheet" media="all" />
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';