
21.06.2008, 22:42
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Для начала:
Код:
function(msg){ alert(msg) } // это то же самое, что и просто alert
Далее. Заменяем это:
Код:
// ajaxTest("GET", e.srcElement.valueOf(), function(msg){ alert(msg) });
на это:
Код:
if(e.srcElement.href) ajax("GET", e.srcElement.href, alert);
Условие необходимо, поскольку объект, по которому щёлкнули, может быть любым из блока menu и самим menu в том числе. Вторым параметром функции, в принципе, можно передать и саму ссылку ( [ HTMLAnchorElement ] ).
А теперь немного уличной магии. В коде функции ajax:
Код:
function ajax(method, url, userFunc) {
window.xmlHttp.onreadystatechange=function() {
if(window.xmlHttp.readyState==4)
userFunc(window.xmlHttp.responseText);
}
window.xmlHttp.open(method,url,true);
window.xmlHttp.send(null);
}
нужно поменять местами определение [ object XMLHttpRequest ].onreadystatechange и вызов метода open()
P.S. Все рекомендации основаны на следующем правиле: переписывать код полностью нельзя.
|
|
|