2006年11月24日 星期五

Sidebar伸縮器

昨天看了灝翰川流介紹Sidebar伸縮器, 今天又看了風言瘋語的 "激死我啦", 所以花點時間, 簡化了那個Sidebar伸縮器, 應用在我的網誌管理系統.




例子可看我右邊的 "網誌管理系統功能" Sidebar.  以下是Sidebar的內容:



function SwitchMenu(obj)
{
   if(document.getElementById)
   {
      var el = document.getElementById(obj);
      var ar = document.getElementById("masterdiv").getElementsByTagName("span");
      if(el.style.display != "block")
      {
         for (var i=0; i         {
            if (ar[i].className=="submenu")
               ar[i].style.display = "none";
         }
         el.style.display = "block";
      }
      else
      {
         el.style.display = "none";
      }
   }
}

function SwitchMenu(obj)
{
   if(document.getElementById)
   {
      var el = document.getElementById(obj);
      var ar = document.getElementById("masterdiv").getElementsByTagName("span");
      if(el.style.display != "block")
      {
         for (var i=0; i         {
            if (ar[i].className=="submenu")
               ar[i].style.display = "none";
         }
         el.style.display = "block";
      }
      else
      {
         el.style.display = "none";
      }
   }
}

function SwitchMenu(obj){
   if(document.getElementById){
      var el = document.getElementById(obj);
      var ar = document.getElementById("masterdiv").getElementsByTagName("span");
      if(el.style.display != "block"){
         for (var i=0; i            if (ar[i].className=="submenu")
               ar[i].style.display = "none";}
         el.style.display = "block";}
      else{el.style.display = "none";}}}

function SwitchMenu(obj)
{
   var el = document.getElementById(obj);
   if(el.style.display != "block")
      el.style.display = "block";
   else
      el.style.display = "none";
}

function SwitchMenu(obj)
{
   var el = document.getElementById(obj);
   if(el.style.display != "block")
      el.style.display = "block";
   else
      el.style.display = "none";
}
<script>
function SwitchMenu(obj)
{
   var el = document.getElementById(obj);
   if(el.style.display != "block")
      el.style.display = "block";
   else
      el.style.display = "none";
}
</script>
<div class="menutitle" onclick="SwitchMenu('sub1')">好友新文</div>
<span class="submenu" id="sub1"  style="display:block">
http://rank.memdb.com/?page=recent&strong</span>

<div class="menutitle" onclick="SwitchMenu('sub2')">文章評分訂閱</div>
<span class="submenu" id="sub2">http://rank.memdb.com/?page=status&strong</span>

<div class="menutitle" onclick="SwitchMenu('sub3')">最新加入會員</div>
<span class="submenu" id="sub3">http://rank.memdb.com/?page=recentMember </span>


註: 你必需自行修改oid=8244的數值為你的網誌管理系統編號和&size=5為你想顯示好友新文的數目. 另外, 以上沒有加讓會員訂閱你網誌的Link, 你需要自行加, 說明可以看本文的留言.

另外, 你可以把以下的CSS加在SinaBlog外觀設定CSS設定, 你可以自己修改想要的Style. 

.menutitle{
cursor:pointer;
margin-bottom: 5px;
background-color:#8080FF;
color:#000000;
width:180px;
padding:2px;
text-align:center;
font-weight:bold;
border:1px solid #000000;
}

.submenu{
display: none;
margin-bottom: 0.5em;
}

39 則留言:

  1. Good Job.........得閒我又研究下先....
    CO2

    回覆刪除
  2. 如果你想加讓會員訂閱你網誌 的功能, 可以修改以下一段:<span class="submenu" id="sub1">http://rank.memdb.com/?page=recentstrong</span>為以下HTML: <span class="submenu" id="sub1"><a href=http://rank.memdb.com/?page=subMember&oid=10067 target=_blank><B>按此加入本網誌為你的好友</B></a><P>http://rank.memdb.com/?page=recentstrong</span>詳細說明可看讓會員訂閱你網誌.

    回覆刪除
  3. 記得更改oid=10067和oid=8244為你的RSS oid和會員oid. 至於如何取得RSS oid, 請看讓會員訂閱你網誌.一文.好似越來越複雜! 但我己沒有更簡單的方法了. 看看有沒有網友試完, 可以給大家寫多些說明吧!

    回覆刪除
  4. 另外, 你可以刪除或加多些Menu項目, 例如:<div class="menutitle" onclick="SwitchMenu('sub4')">網站連結</div><span class="submenu" id="sub4"><a href=http://www.memdb.com>MemDB (我的公司)</a><br>...</span> 不過, 有了 "好友新文" 功能之後, 我覺得網站連結可以取消了.

    回覆刪除
  5. 嘩哈!正正正!
    靜靜告訴你,昨晚當我看到你的延伸bar時;很是羨慕的。
    跟住我試過在檢視的原始檔中想偷你的語法用的,可是失敗囉,再跟住昨晚給你電郵時我明明是想請你教我點set那個延伸功能的,可是又忘了啦!而昨晚我也試過上網找關於延伸功能的語法,可是我還是看不明白!
    現在有你的教學,希望我可以搞得掂啦~實在很開心呢!謝謝Enoch無私的分享^^

    回覆刪除
  6. 哎~在嚐試中了,可是我不明白,請問是不是在sidebar的自訂項目中加入上述語法外同時也要在css設定內加入2樓的語法呢?如果是又請問要加在css設定的sidebar欄內那一個位置呢?

    回覆刪除
  7. 莎莉 :
    哎~在嚐試中了,可是我不明白,請問是不是在sidebar的自訂項目中加入上述語法外同時也要在css設定內加入2樓的語法呢?如果是又請問要加在css設定的sidebar欄內那一個位置呢?
    最簡單就是先把上部份的Code完全複製到sidebar的自訂項目, 再把以上css設定append到Sinablog CSS 設定的最後.
    成功後, 才更改 oid 為自己的, 再成功, 才根據自己的要求更改Code和CSS.

    回覆刪除
  8. 想問一問,你那段css是修改sidebar自訂項目的內框?這個很好的設計,可以將那些flash插件一併加在一起,又可慳地方,我也去試試,謝謝分享^^

    回覆刪除
  9. 是放在sina CSS設定, 如果你想每在sideba項目內, 要改為:<style type="text/css">.menutitle{cursor:pointer;margin-bottom: 5px;background-color:#125899;color:#FFFFFF;width:190px;padding:2px;text-align:center;font-weight:bold;border:1px solid #CCCCCC;}.submenu{display: none;margin-bottom: 0.5em;}</style>

    回覆刪除
  10. 我個 sidebar 長得滯, bookmark 呢個msg, 慢慢試先..

    回覆刪除
  11. Enoch :
    最簡單就是先把上部份的Code完全複製到sidebar的自訂項目, 再把以上css設定append到Sinablog CSS 設定的最後.
    成功後, 才更改 oid 為自己的, 再成功, 才根據自己的要求更改Code和CSS.
    =.=我算是成功完成延伸功能了,可是我想擺在"本部數據"之上,但在sidebar的項目排序移上之後,在版面卻是看不到那"本部數據"現在祇好放在數據之下才可以兩者顯示@@"
    ps:我貼延伸語法在css最底部的,未知是否與這個排序有關呢?

    回覆刪除
  12. 另外,我發覺今天下午跟你原文css的語法貼在css內是失敗的,但在晚上再看到你在9樓加入了這句之後,我才可以成功完成這工序!

    回覆刪除
  13. 是這句:
    <style type="text/css">

    回覆刪除
  14. 莎莉 : 另外,我發覺今天下午跟你原文css的語法貼在css內是失敗的,但在晚上再看到你在9樓加入了這句之後,我才可以成功完成這工序!奇怪呢, 我是放在CSS設定內, 如果放在sidebar設定內, 才需要加 <style type="text/css">

    回覆刪除
  15. 謝謝~~攪好了,有時間來看看^^我想問一問,你怎樣加上語法在文章內,而又正常顯示呢?

    回覆刪除
  16. 謝謝你,不過對我呢d不太熟it的人,要抽時間同佢搏鬥呢。

    回覆刪除
  17. 連這個都有伸縮的功能,真是不錯呢.

    回覆刪除
  18. 做了個簡化版。不用自己改code。
    http://elsikei.mysinablog.com/index.php?op=ViewArticle&articleId=340858

    回覆刪除
  19. no reason : 謝謝~~攪好了,有時間來看看^^我想問一問,你怎樣加上語法在文章內,而又正常顯示呢?如果是<script>...</script>, edit 會不見的, 但可以儲存到.留言時要寫<script>, 就要所啟動Editor.

    回覆刪除
  20. 亞占 :
    謝謝你,不過對我呢d不太熟it的人,要抽時間同佢搏鬥呢。
    對呀, 要花很多時間同佢搏鬥, 不過之後就學到很多東西了.

    回覆刪除
  21. elsikei :
    做了個簡化版。不用自己改code。http://elsikei.mysinablog.com/index.php?op=ViewArticle&articleId=340858
    很好, 不過不想把所有項目功入Sidebar. 或是一些想預先show up, 你有時間不防改良一下.

    回覆刪除
  22. Enoch我發覺加了伸縮器後,我們的blog都出現'網頁發氐錯誤'?

    回覆刪除
  23. Enoch :
    亞占 :謝謝你,不過對我呢d不太熟it的人,要抽時間同佢搏鬥呢。
    對呀, 要花很多時間同佢搏鬥, 不過之後就學到很多東西了.
    keke~我就是一個好例子啦,搞到隻手抽哂筋但又不甘心,終於搞定之後那份滿足感呢......總之係試過先可以感受到這份喜悅啦~呵(謝謝Enoch)

    回覆刪除
  24. no reason : Enoch我發覺加了伸縮器後,我們的blog都出現'網頁發氐錯誤'?是呀, 應該是文章那個 <script> 作怪, 你可以試試看其他文章, 是沒有問題的.

    回覆刪除
  25. Enoch : no reason : Enoch我發覺加了伸縮器後,我們的blog都出現'網頁發氐錯誤'?是呀, 應該是文章那個 <script> 作怪, 你可以試試看其他文章, 是沒有問題的. 我估計都是,在主頁和其他文章都無事

    回覆刪除
  26. 我個"今日到訪人數"不見了!!
    <div class="menutitle" >好友新文</div>
    <span class="submenu" id="sub1"style="display:block">
    <a href=http://rank.memdb.com/?page=subMember&oid=5782816 target=_blank><B>按此加入本網誌為你的好友</B></a><P><script src=http://rank.memdb.com/?page=recent&oid=8652&size=5&visit=3></script></span>
    請問是不是語法出了問題呢?

    回覆刪除
  27. 我都終於搞掂啦!^^======================<div class="menutitle" onclick="SwitchMenu('sub1')">好友新文</div><span class="submenu" id="sub1"style="display:block"><marquee scrollAmount=2 scrollDelay=20 direction=up width=100% height=300onmouseout="this.start()" onmouseover="this.stop()">http://rank.memdb.com/?page=recent&oid=8652&size=10&visit=3</marquee></span>======================marquee scrollAmount=2 (改速度;數值越大速度越快)scrollDelay=20(延遲速度;數值越大速度越慢,不過我唔係好明延遲左d咩=.=)direction=up(up向上捲;down向下捲)width=100%(闊度;如果100%會跟已設的伸縮bar闊度一樣,數值越低闊度距離越窄)height=300(高度;數值越細高度距離越短。建議不要太高,否則看空白時間會覺得好耐的!)======================另外:有個更簡單的!<marquee scrollamount=3 direction=up>http://加入你的好友新文網址</marquee>======================marquee scrollamount=3(3是速度;數值越大越快)======================ps:我祇係識咁多咋,如有不對請指正!^^謝謝(Enoch;唔好意思!呢個留言佔左你咁多位:p)

    回覆刪除
  28. 莎莉 :
    我個"今日到訪人數"不見了!!<div class="menutitle" >好友新文</div><span class="submenu" id="sub1"style="display:block"><a href=http://rank.memdb.com/?page=subMember&oid=5782816 target=_blank><B>按此加入本網誌為你的好友</B></a><P><script src=http://rank.memdb.com/?page=recent&oid=8652&size=5&visit=3></script></span>請問是不是語法出了問題呢?
    如果一個人都沒有, 就不顯示, 每日 00:00 reset 人數,
    另外, 你subMember&oid=5782816
    的oid錯誤, 要改為10095才對.

    回覆刪除
  29. 以上這個我想作一點補充,marquee scrollamount=3是滾動時的格數,如果用上1的話,滾動時就會比較順,而scrollDelay=20 才是延遲的數值,數值越大就越慢,現在你那個滾動時的速度快,所以看不出它'疾',如果你delay改為100的話,看上去比較'疾'和enoch的差不多,enoch應該是用了scrollamount=2只是小小的意見,如有不對請指正

    回覆刪除
  30. 以上這個我想作一點補充,marquee scrollamount=3是滾動時的格數,如果用上1的話,滾動時就會比較順,而scrollDelay=20 才是延遲的數值,數值越大就越慢,現在你那個滾動時的速度快,所以看不出它'疾',如果你delay改為100的話,看上去比較'疾'和enoch的差不多,enoch應該是用了scrollamount=2
    只是小小的意見,如有不對請指正
    sorry文字顏色出了問題,再貼一次

    回覆刪除
  31. no reason :
    以上這個我想作一點補充,marquee scrollamount=3是滾動時的格數,如果用上1的話,滾動時就會比較順,而scrollDelay=20 才是延遲的數值,數值越大就越慢,現在你那個滾動時的速度快,所以看不出它'疾',如果你delay改為100的話,看上去比較'疾'和enoch的差不多,enoch應該是用了scrollamount=2
    只是小小的意見,如有不對請指正
    sorry文字顏色出了問題,再貼一次
    其實我試過你的設定, 不過個人喜好使用scrollAmount=5 scrollDelay=300.

    回覆刪除
  32. 嘻~~有點不明白,不過很想試試看……
    例如,如果照用newsgator,放進伸縮欄中,我試過,不能像你那樣呢。但我又有點懶不想全部改過晒……嘿嘿……

    回覆刪除
  33. 灝川 :
    嘻~~有點不明白,不過很想試試看……
    例如,如果照用newsgator,放進伸縮欄中,我試過,不能像你那樣呢。但我又有點懶不想全部改過晒……嘿嘿……
    應該可以的, 不過要花時間試吧.

    回覆刪除
  34. 請問如何把 sina 預設的"個人資料 ", "calender", "文章分類" 等一起放進伸縮器中?
    請回應,我花了很多時間都做不到

    回覆刪除
  35. :
    請問如何把 sina 預設的"個人資料 ", "calender", "文章分類" 等一起放進伸縮器中?
    請回應,我花了很多時間都做不到
    對否起, 我也不清楚如何做. 之前在 http://angusdev.mysinablog.com/ 好像看過solution, 你去查一查把.

    回覆刪除
  36. 網主,你好,也嘗試多次在編輯文章內加上adsense或其他廣告, 但也不能顯示, 放在在sidebar是沒問題, 可否告知在那裹設定, 謝謝你的幫忙!!!

    回覆刪除
  37. John :
    網主,你好,也嘗試多次在編輯文章內加上adsense或其他廣告, 但也不能顯示, 放在在sidebar是沒問題, 可否告知在那裹設定, 謝謝你的幫忙!!!
    內文應該是不許入script之類的內容, 我都沒有試過在內文加adsense, 幫不到你, 或者你到其他blog問下, 對不起.

    回覆刪除
  38. Enoch :
    John :網主,你好,也嘗試多次在編輯文章內加上adsense或其他廣告, 但也不能顯示, 放在在sidebar是沒問題, 可否告知在那裹設定, 謝謝你的幫忙!!!
    內文應該是不許入script之類的內容, 我都沒有試過在內文加adsense, 幫不到你, 或者你到其他blog問下, 對不起.
    謝謝你的回覆, 如知道怎樣做, 再轉告知給你, 順祝日日笑口常開!!!

    回覆刪除
  39. John :
    Enoch :John :網主,你好,也嘗試多次在編輯文章內加上adsense或其他廣告, 但也不能顯示, 放在在sidebar是沒問題, 可否告知在那裹設定, 謝謝你的幫忙!!!
    內文應該是不許入script之類的內容, 我都沒有試過在內文加adsense, 幫不到你, 或者你到其他blog問下, 對不起.
    謝謝你的回覆, 如知道怎樣做, 再轉告知給你, 順祝日日笑口常開!!!
    好, 謝謝.

    回覆刪除