有一個bug:運行程序后首次點擊后臺腳本和前端框架時,需要點擊兩下才能展開ul列表,第二次點只需要點擊一次就能展開列表,這是為什么?
<script?type="text/javascript">
window.onload=function(){
??????//?將所有點擊的標題和要顯示隱藏的列表取出來
??????var?paras=document.getElementsByTagName("p");
??????var?uls=document.getElementsByTagName("ul");
?????//?遍歷所有要點擊的標題且給它們添加索引及綁定事件
?????
?????for(var?i=0;i<paras.length;i++)
?????{
?????????paras[i].id=i;
?????????paras[i].onclick=function(){
?????????????if(uls[this.id].style.display=="none")
?????????????{?
?????????????????uls[this.id].style.display="block";
?????????????}
??????????????else
??????????????{
??????????????????uls[this.id].style.display="none";
??????????????}
?????????????
?????????}
?????}
????
}
</script>運行程序后首次點擊后臺腳本和前端框架時,需要點擊兩下才能展開ul列表,第二次點只需要點擊一次就能展開列表,這是為什么?
2016-09-27
頁面剛打開時,第二個和第三個ul的display屬性為undefined,所以剛開始總是執行else語句
if(uls[this.id].style.display=="block")
? ? ? ? ? ? ?{?
? ? ? ? ? ? ? ? ?uls[this.id].style.display="none";
? ? ? ? ? ? ?}
? ? ? ? ? ? ? else
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? uls[this.id].style.display="block";
? ? ? ? ? ? ? }
2016-10-06
?if(uls[this.id].style.display=="block")
?????????????{?
?????????????????uls[this.id].style.display="none";
?????????????}
??????????????else
??????????????{
??????????????????uls[this.id].style.display="block";
??????????????}
點擊事件換成這樣就ok,你寫的那樣的話需要加非行間樣式