首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

求用JQuery改写一段JS代码![题目要长]

2013-11-29 
求用JQuery改写一段JS代码!!!!!!!!!!!!!!!!![标题要长]本帖最后由 Guai__Guai 于 2013-11-19 22:43:29 编

求用JQuery改写一段JS代码!!!!!!!!!!!!!!!!![标题要长]
本帖最后由 Guai__Guai 于 2013-11-19 22:43:29 编辑


var menuids=["nav"] //Enter id(s) of SuckerTree UL menus, separated by commas

function buildsubmenus(){
for (var i=0; i<menuids.length; i++){
var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul");
  for (var t=0; t<ultags.length; t++){
  ultags[t].parentNode.getElementsByTagName("a")[0].className="subfolderstyle";
  ultags[t].parentNode.onmouseover=function(){
  this.getElementsByTagName("ul")[0].style.display="block";
  }
  ultags[t].parentNode.onmouseout=function(){
  this.getElementsByTagName("ul")[0].style.display="none";
  }
  }
}
}

if (window.addEventListener){
window.addEventListener("load", buildsubmenus, false);
}else if (window.attachEvent){
window.attachEvent("onload", buildsubmenus);
}


其实这个帖子是接上贴 http://bbs.csdn.net/topics/390641880
我找了一个JS控制的菜单,结果出现了一个神奇的事情。
菜单数据是动态生成的,点击触发后(JQUERY)动态生成菜单数据,但是菜单样式是JS控制的,多级菜单在页面上只显示两级,下面的都没有显示,通过FF查看元素,数据都是正确的,复制出来,再贴到同一个页面就正常了,多级都能显示出来。我实在想不到是什么原因。唯一能想到的就是那这段JS用JQuery实现,因为点击的动作也是通过JQuery处理的。


<div class="suckerdiv"  style="display: none">
    <ul id="nav">
<li><a href="Javascript:void(0)" id="firsturl">加载中..</a>
<ul id="grade">
<li><a href="Javascript:void(0)">加载中..</a></li>
</ul>
</li>
</ul>
</div>

初始数据


<div class="suckerdiv" style="top: 70px;">
    <ul id="nav">
<li><a href="Javascript:void(0)" id="firsturl" class="subfolderstyle">我是一级菜单</a>
<ul id="grade" style="display: none;"><li><a href="http://www.baidu.com" target="_blank">百度1</a></li><li><a href="http://www.baidu0.com" target="_blank">百度2</a></li><li><a href="Javascript:void(0)" target="_blank">下路</a><ul><li><a href="http://www.baidu.com" target="_blank">优酷1</a><ul><li><a href="http://www.baidu.com" target="_blank">土豆4</a></li><li><a href="http://www.baidu.com" target="_blank">土豆5</a></li><li><a href="http://www.baidu.com" target="_blank">土豆5</a></li><li><a href="http://www.baidu.com" target="_blank">土豆5</a></li></ul></li><li><a href="http://www.baidu.com" target="_blank">优酷2</a><ul><li><a href="http://www.baidu.com" target="_blank">土豆1</a></li><li><a href="http://www.baidu.com" target="_blank">土豆2</a></li></ul></li><li><a href="http://www.baidu.com" target="_blank">优酷3</a><ul><li><a href="http://www......baidu.com" target="_blank">土豆111</a></li></ul></li></ul></li><li><a href="http://www.163.com" target="_blank">网易</a></li></ul>
</li>
</ul>
</div>

动态生成的数据

相关资源http://pan.baidu.com/s/1cNUbC jquery
[解决办法]
动态加载的内容每天添加上事件。

因为onload只执行一次事件绑定,后续用ajax生成的ul并没有获取到

你需要在ajax加载设置完内容后重新执行一次buildsubmenus()绑定事件

热点排行