Я использую условно-бесплатную боковую панель в стиле гармошки JS (www.dynamicdrive.com/dynamicindex1/slashdot.htm). Он прекрасно работает с HTML на основе PHP, но не работает с AJAX.
Боковая панель строится на элементах <div>
, <span>
и <a>
. Вот часть кода JS:
for (var i = 0; i < this.submenus.length; i++)
this.submenus[i].getElementsByTagName("span")[0].onclick = function() {
mainInstance.toggleMenu(this.parentNode);
};
Если я использую жестко закодированный HTML, как показано ниже (или создаю то же самое с PHP), он работает нормально:
<div id="navbar_side" class="sdmenu">
<div><span>STUDENTS</span><a>Adding Students</a><a>Deleting Students</a></div>
</div>
Однако, если я начну с:
<div id="navbar_side" class="sdmenu"></div>
и затем используйте это:
document.getElementById("navbar_side").innerHTML="<div><span>STUDENTS</span><a>Adding Students</a><a>Deleting Students</a></div>";
меню не скользит. Информация все там. <a hrefs>
вся работа (которую я оставил здесь). Но аккордеонное движение не ... ну ... - двигаться!
Почему это? Очевидно, что меню не читает дерево узлов, созданное AJAX, так же, как дерево, построенное PHP.
Спасибо,
Ник