教你用javascript實現隨機標籤雲效果_附代碼,javascript標籤

來源:互聯網
上載者:User

教你用javascript實現隨機標籤雲效果_附代碼,javascript標籤

標籤雲是一套相關的標籤以及與此相應的權重。典型的標籤雲有30至150個標籤。權重影響使用的字型大小或其他視覺效果。同時,長條圖或餅圖表是最常用的代表約12種不同的權數。因此,標籤雲彩能代表更多的權,儘管不那麼準確。此外,標籤雲通常是可以互動的:標籤是典型的超連結,讓使用者可以仔細瞭解他們的內容。
 
大概可以理解為一堆相關或者不相關的標籤混到一塊,根據不同的重要程度,或者其他維度不同來為每個標籤設定不同的樣式已凸顯他們的不同,這樣的一堆標籤在一起就是我們通常說的標籤雲了。
 
下面我們大概說一下標籤雲實現的原理:
明白了標籤雲是咋回事兒那麼實現起來就簡單了,其實就是根據每個標籤的不同的重要性設定不同的樣式就可以了。
這裡我們使用隨機數實現一個簡單的標籤雲,不是根據某些維度來實現,純粹的隨機樣式。這邊標籤雲實際是一堆a標籤,然後隨機設定顏色和字型大小,當然字型大小有個最大最小限制的。
1、我們設定了一個取隨機數函數,和一個隨機顏色函數,通過這兩個函數為標籤設定樣式。
2、我們把所有的a標籤迴圈,然後利用步驟一裡邊的隨機數,和隨機顏色設定這些標籤的字型大小和顏色。
 
查看效果如下:

一個簡單的標籤雲就完事了。

其實我們還可以吧樣式設定到樣式檔案,然後通過為a標籤設定class來設定a標籤的樣式,這樣靈活性更大。

如果需要根據某些維度來設定的話,那麼可以給a標籤設定好這種維度屬性,然後根據這些屬性來設定樣式。


下面看代碼:

html代碼:

<div id="wrap"> <a href="#">web標準學習</a> <a href="#">css</a> <a href="#">javascript</a> <a href="#">html5</a> <a href="#">canvas</a> <a href="#">video</a> <a href="#">audio</a> <a href="#">jQuery</a> <a href="#">jQuerymobile</a> <a href="#">flash</a> <a href="#">firefox</a> <a href="#">chrome</a> <a href="#">opera</a> <a href="#">IE9</a> <a href="#">css3.0</a> <a href="#">andriod</a> <a href="#">apple</a> <a href="#">google</a> <a href="#">jobs</a> </div>

javascript代碼:

window.onload=function(){ var obox=document.getElementById("wrap"); var obj=obox.getElementsByTagName("a"); //隨機方法 function rand(num){  return parseInt(Math.random()*num+1); } //隨機顏色值 function randomcolor(){  var str=Math.ceil(Math.random()*16777215).toString(16);  if(str.length<6){   str="0"+str;  }  return str; } //迴圈 for( len=obj.length,i=len;i--;){  obj[i].className="color"+rand(5);  obj[i].style.zIndex=rand(5);  obj[i].style.fontSize=rand(12)+12+"px";  // obj[i].style.background="#"+randomcolor();  obj[i].style.color="#"+randomcolor();  obj[i].onmouseover=function(){   this.style.background="#"+randomcolor();  }  obj[i].onmouseout=function(){   this.style.background="none";  } }}

以上這篇教你用javascript實現隨機標籤雲效果_附代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.