隐藏不掉的p,取不到的当前值问题
发布时间:2018-09-08 07:43:39 所属栏目:产品 来源:站长网
导读:我做了一个效果,可是最上面的P怎么也隐藏不掉了! Copy to Clipboard 引用的内容:[www.veryhuo.com]script type=text/javascript function flexMenu(id) { var $id = document.getElementById(id); var titleList = $id.getElementsByTagName('p'); var
我做了一个效果,可是最上面的P怎么也隐藏不掉了! Copy to Clipboard![]() function flexMenu(id) { var $id = document.getElementById(id); var titleList = $id.getElementsByTagName('p'); var contentList = $id.getElementsByTagName('div'); titleList[titleList.length-1].style.border = 'none'; for(var i=0;i<titleList.length;i++) { titleList[i].onclick = function(){ for(var a=0;a<contentList.length;a++){ contentList[a].style.display = 'none'; } if(this.nextSibling.nodeType=='3'){ this.nextSibling.nextSibling.style.display = ''; }else{ this.nextSibling.style.display = ''; } var test=i-1; alert(test); document.getElementById('box').getElementsByTagName('p')[test].style.display = 'none'; } } } window.onload = function(){ flexMenu('box')} </script> 这个是代码我想取当前的i值,可是怎么也取不到,总是加完以后的,减1吧,也不对!反所想请高手帮忙看一下!! 问题解决: 加了一个function flexMenu(id) 。代码如下: Copy to Clipboard ![]() var $id = document.getElementById(id); var titleList = $id.getElementsByTagName('p'); var contentList = $id.getElementsByTagName('div'); titleList[titleList.length-1].style.border = 'none'; for(var i=0;i<titleList.length;i++) { titleList[i].onclick = function(){ for(var a=0;a<contentList.length;a++){ contentList[a].style.display = 'none'; titleList[a].style.display = ''; } if(this.nextSibling.nodeType=='3'){ this.nextSibling.nextSibling.style.display = ''; this.style.display = 'none'; }else{ this.nextSibling.style.display = ''; } } } } window.onload = function(){ flexMenu('box')}
(编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |