我一直在使用共享软件JS手风琴式侧边栏(www.dynamicdrive.com/dynamicindex1/slashdot.htm)。它与基于PHP的HTML一起工作得非常好,但是没有使用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>
所有工作(我在这里遗漏了)。但手风琴运动并没有 - 好...... - 移动!
这是为什么?很明显,菜单不是像PHP构造的那样读取AJAX构造的节点树。
谢谢, 尼克