BLOG技巧:用Javascript為你的Blog做一個計數器

來源:互聯網
上載者:User

 

        以前CSDN BLOG沒有計數的功能,所以一直都是用的別人的計數器,但是這樣很不準確. 現在CSDN BLOG已經有計數器的功能了,於是我用Javascript + DIV做了個計數器

       

      基本原理: getElementsByTagName函數取得頁面中的訪問的數字,然後轉換成圖片

     研究一下html代碼

<h1>Blog統計</h1>
<ul class="list">
 <li class="listitem">原創 - 75 </li>
 <li class="listitem">翻譯 - 0</li>
 <li class="listitem">轉貼 - 5</li>
 <li class="listitem">點擊 - 351278</li>
 <li class="listitem">評論 - 891</li>
 <li class="listitem">Trackbacks -41</li>
</ul>

 

我這裡是用的li標籤,你的可能不一樣,但是原理都是一樣的

     增加一個div,用於顯示計數器

<p><b>訪問統計</b></p><div id=counter></div>

 

 

  JavaScript代碼

 <SCRIPT language=javascript>

       var obj = document.getElementsByTagName('li');

       var cnt,i;

       var str,html='';

       for (cnt=0;cnt<obj.length;cnt++)

       {

              str = obj[cnt].innerHTML;

             

              if (str.indexOf('點擊') != -1)

              {

                     str = str.substr(5);

                     html = "<table border='0'><tr><td bgcolor='#000000'>";

                     for (i=0; i<str.length; i++)

                            if (str.substr(i,1) >= '0' && str.substr(i,1) <= '9')

                                   html += "<img src='http://p.blog.csdn.net/images/p_blog_csdn_net/shaohui/60135/t_num_" + str.substr(i,1) + ".gif' border='0' width='20'>";

                     html += "</td></tr></table>";

                     document.all['counter'].innerHTML = html;

                     break;

              }

       }           

</SCRIPT>

 這是我的計數器的

 

     補充一下,以上代碼是針對Lighty風格的的blog寫的,所以如果你的blog不是這個風格的話即使你使用了這個代碼也是無效的。在網友的aeonspider 要求下,我稍微改動了一下代碼,針對選擇Cogitation風格的blog,用以下代碼。也可以實現計數器功能。

<p><b>訪問統計</b></p><div id=counter></div>

 

 

<SCRIPT language=javascript>

       var obj = document.getElementsByTagName('td');

       var cnt,i;

       var str,html='';

       for (cnt=0;cnt<obj.length;cnt++)

       {

              str = obj[cnt].innerHTML; 

              if (str.indexOf('次點擊') != -1)

              {

                   pos = str.indexOf('次點擊');

                   pos -= 1;

                   html = "<table border='0'><tr><td bgcolor='#000000'>";

 

              for (i=pos; i>0; i--)

                   {     

                      if (str.substr(i,1) >= '0' && str.substr(i,1) <= '9')

                          html = "<img src='http://p.blog.csdn.net/images/p_blog_csdn_net/shaohui/60135/t_num_" + str.substr(i,1) + ".gif' border='0' width='20'>" + html;

                                else

                                          break;

                   }

                     html += "</td></tr></table>";

                     document.all['counter'].innerHTML = html;

                     break;

              }

       }      

</SCRIPT>

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.