熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

asp無限級分類加js收縮伸展功能代碼

2013-11-13 10:29:12  來源: .NET編程 

  為了方便使用分類我定義了一個分類表category裡面字段是

  id(自動編號)  cat_name(分類名) parent_id(父ID對應本表ID) cat_order(順序) is_show(是否顯示)  u_id(這個用來區別是新聞分類還是產品分類還是其他分類)為了方便我將這些分類全部放在這張表中

  在給客戶添加分類的時候結果有太多的分類本來前台顯示的時候將它們全部顯示出來了好長客戶提出修改意見要求將它們改成點擊大分類才可以將其子分類顯示出來並且每個分類下面還有一條虛線並且大分類前面有個圖片加號展開後要變成減號

  <script>

  function fd(idnum)

  {

  t=$(c+id+_)styledisplay;

  if(t==none)

  {

  t=block;

  t=images/fll_gif;

  }

  else

  {

  t=none;

  t=images/fll_gif;

  }

  for(i=;i<=num;i++)

  {

  $(c+id+_+i)styledisplay=t;

  $(d_+id)src=t;

  }

  }

  function $(id)

  {

  return documentgetElementById(id);

  }

  </script>

  這是asp無限級顯示分類代碼並給這些分類加上id

  <%

  功能asp無限級顯示分類+js顯示與隱藏

  作者wangsdong

  開發

  參數parent_id為父IDstype為新聞產品文章大分類

  function cat(parent_idstype)

  set rs =servercreateobject(adodbrecordset)

  sql=select cat_namecat_idparent_id from category where parent_id=&parent_id& and u_id=&stype& and is_show= order by cat_order asc

  set rs=connexecute(sql)

  If rseof Then

  Else

  if(depath>) then

  display=none

  else

  display=block

  end if

  dim j

  j=

  do while not rseof

  cat_name = rs(cat_name)

  cat_id = rs(cat_id)

  parent_id=rs(parent_id)

  ******************下面是你要顯示的******************

  m=

  sql=select count(cat_id) as t from category where parent_id=&cat_id& and u_id=&stype&

  set rs=servercreateobject(adodbrecordset)

  set rs=connexecute(sql)

  if not rseof then

  m=rs(t)

  else

  m=

  end if

  rsclose

  if(depath<=) then

  mgif=images/gif

  a=block

  else

  if(m>) then

  mgif=images/+gif

  else

  mgif=images/gif

  end if

  if(depath=) then

  a=block

  else

  a=none

  end if

  end if

  catstr=catstr & <tr id=c&parent_id&_&j& display:&a&><td width= align=center valign=middle class=dotted_class><img src=&mgif& width= height= id=d_&cat_id&></td><td class=dotted_class leftcatcss>

  if(m>) then

  catstr=catstr&<a javascript:void(); _fcksavedurl=javascript:void(); _fcksavedurl=javascript:void(); onclick=fd(&cat_id&&m&)> &vbnewline

  else

  catstr=catstr&<a &cat_id& target=_blank>&vbnewline

  end if

  for i= to depath

  catstr=catstr&&nbsp;

  Next

  catstr=catstr&cat_name&</a></td></tr>&vbnewline

  m=

  sql=select cat_namecat_id from category where parent_id=&parent_id& and u_id=&stype& order by cat_order asc

  set rs=servercreateobject(adodbrecordset)

  set rs=connexecute(sql)

  if not rseof then

  depath=depath+

  call cat(cat_idstype)

  end if

  rsclose

  set rs=nothing

  depath=depath

  ******************上面是你要顯示的******************

  j=j+

  rsmovenext

  loop

  End If

  rsclose

  set rs=nothing

  end Function

  %>

  在使用這個函數之前加上

  catstr=

  然後再call下面的虛線加在css中的dotted_class裡面這樣就搞定了

  注意這裡得到的是一個表格的行要和其他行放在一起不要加到td裡面去了


From:http://tw.wingwit.com/Article/program/net/201311/13791.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.