下载:http://files.cnblogs.com/zjfree/js_tag_list.rar

效果如下:

源码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
#div1 {position:relative; width:285px; height:280px; }
#div1 a {position:absolute; top:0px; left:0px; font-family: Microsoft YaHei; color:#cc0000; text-decoration:none; text-shadow:#999; font-weight:600}
#div1 a:hover {border: 1px solid #eee; background:#fff000; padding:3px;}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
</style>
<script type="text/javascript" >
var radius = 125;
var dtr = Math.PI/500;
var d=200; var mcList = [];
var active = false;
var lasta = 1;
var lastb = 1;
var distr = true;
var tspeed=40;
var size=200; var mouseX=0;
var mouseY=0; var howElliptical=1; var aA=null;
var oDiv=null; window.onload=function ()
{
var i=0;
var oTag=null; oDiv=document.getElementById('div1'); aA=oDiv.getElementsByTagName('a'); for(i=0;i<aA.length;i++)
{
oTag={}; aA[i].style.color = '#'+('00000'+(Math.random()*0x1000000<<0).toString(16)).slice(-6);;
oTag.offsetWidth=aA[i].offsetWidth;
oTag.offsetHeight=aA[i].offsetHeight; mcList.push(oTag);
} sineCosine( 0,0,0 ); positionAll(); oDiv.onmouseover=function ()
{
active=true;
}; oDiv.onmouseout=function ()
{
active=false;
}; oDiv.onmousemove=function (ev)
{
var oEvent=window.event || ev; mouseX=oEvent.clientX-(oDiv.offsetLeft+oDiv.offsetWidth/2);
mouseY=oEvent.clientY-(oDiv.offsetTop+oDiv.offsetHeight/2); mouseX/=5;
mouseY/=5;
}; setInterval(update, 30);
}; function update()
{
var a;
var b; if(active)
{
a = (-Math.min( Math.max( -mouseY, -size ), size ) / radius ) * tspeed;
b = (Math.min( Math.max( -mouseX, -size ), size ) / radius ) * tspeed;
}
else
{
a = lasta * 0.98;
b = lastb * 0.98;
} lasta=a;
lastb=b; if(Math.abs(a)<=0.01 && Math.abs(b)<=0.01)
{
return;
} var c=0;
sineCosine(a,b,c);
for(var j=0;j<mcList.length;j++)
{
var rx1=mcList[j].cx;
var ry1=mcList[j].cy*ca+mcList[j].cz*(-sa);
var rz1=mcList[j].cy*sa+mcList[j].cz*ca; var rx2=rx1*cb+rz1*sb;
var ry2=ry1;
var rz2=rx1*(-sb)+rz1*cb; var rx3=rx2*cc+ry2*(-sc);
var ry3=rx2*sc+ry2*cc;
var rz3=rz2; mcList[j].cx=rx3;
mcList[j].cy=ry3;
mcList[j].cz=rz3; per=d/(d+rz3); mcList[j].x=(howElliptical*rx3*per)-(howElliptical*2);
mcList[j].y=ry3*per;
mcList[j].scale=per;
mcList[j].alpha=per; mcList[j].alpha=(mcList[j].alpha-0.6)*(10/6);
} doPosition();
depthSort();
} function depthSort()
{
var i=0;
var aTmp=[]; for(i=0;i<aA.length;i++)
{
aTmp.push(aA[i]);
} aTmp.sort
(
function (vItem1, vItem2)
{
if(vItem1.cz>vItem2.cz)
{
return -1;
}
else if(vItem1.cz<vItem2.cz)
{
return 1;
}
else
{
return 0;
}
}
); for(i=0;i<aTmp.length;i++)
{
aTmp[i].style.zIndex=i;
}
} function positionAll()
{
var phi=0;
var theta=0;
var max=mcList.length;
var i=0; var aTmp=[];
var oFragment=document.createDocumentFragment(); //随机排序
for(i=0;i<aA.length;i++)
{
aTmp.push(aA[i]);
} aTmp.sort
(
function ()
{
return Math.random()<0.5?1:-1;
}
); for(i=0;i<aTmp.length;i++)
{
oFragment.appendChild(aTmp[i]);
} oDiv.appendChild(oFragment); for( var i=1; i<max+1; i++){
if( distr )
{
phi = Math.acos(-1+(2*i-1)/max);
theta = Math.sqrt(max*Math.PI)*phi;
}
else
{
phi = Math.random()*(Math.PI);
theta = Math.random()*(2*Math.PI);
}
//坐标变换
mcList[i-1].cx = radius * Math.cos(theta)*Math.sin(phi);
mcList[i-1].cy = radius * Math.sin(theta)*Math.sin(phi);
mcList[i-1].cz = radius * Math.cos(phi); aA[i-1].style.left=mcList[i-1].cx+oDiv.offsetWidth/2-mcList[i-1].offsetWidth/2+'px';
aA[i-1].style.top=mcList[i-1].cy+oDiv.offsetHeight/2-mcList[i-1].offsetHeight/2+'px';
}
} function doPosition()
{
var l=oDiv.offsetWidth/2;
var t=oDiv.offsetHeight/2;
for(var i=0;i<mcList.length;i++)
{
aA[i].style.left=mcList[i].cx+l-mcList[i].offsetWidth/2+'px';
aA[i].style.top=mcList[i].cy+t-mcList[i].offsetHeight/2+'px'; aA[i].style.fontSize=Math.ceil(12*mcList[i].scale/2)+8+'px'; aA[i].style.filter="alpha(opacity="+100*mcList[i].alpha+")";
aA[i].style.opacity=mcList[i].alpha;
}
} function sineCosine( a, b, c)
{
sa = Math.sin(a * dtr);
ca = Math.cos(a * dtr);
sb = Math.sin(b * dtr);
cb = Math.cos(b * dtr);
sc = Math.sin(c * dtr);
cc = Math.cos(c * dtr);
} </script> </head> <body>
<div id="div1">
<a href="#" target="_blank" style="color:">中国</a>
<a href="#" target="_blank" style="color:">消费者</a>
<a href="#" target="_blank" style="color:">消费</a>
<a href="#" target="_blank" style="color:">北京</a>
<a href="#" target="_blank" style="color:">奶粉</a>
<a href="#" target="_blank" style="color:">世界杯</a>
<a href="#" target="_blank" style="color:">品牌</a>
<a href="#" target="_blank" style="color:">食品安全</a>
<a href="#" target="_blank" style="color:">市场</a>
<a href="#" target="_blank" style="color:">上海</a>
<a href="#" target="_blank" style="color:">奇瑞</a>
<a href="#" target="_blank" style="color:">重工</a>
<a href="#" target="_blank" style="color:">珠宝</a>
<a href="#" target="_blank" style="color:">时代</a>
<a href="#" target="_blank" style="color:">广州</a>
<a href="#" target="_blank" style="color:">食品</a>
<a href="#" target="_blank" style="color:">企业</a>
<a href="#" target="_blank" style="color:">产品</a>
<a href="#" target="_blank" style="color:">专家</a>
<a href="#" target="_blank" style="color:">互联网</a>
<a href="#" target="_blank" style="color:">工商局</a>
<a href="#" target="_blank" style="color:">问题</a>
<a href="#" target="_blank" style="color:">活动</a>
<a href="#" target="_blank" style="color:">营销</a>
<a href="#" target="_blank" style="color:">福喜</a>
<a href="#" target="_blank" style="color:">总局</a>
<a href="#" target="_blank" style="color:">手机</a>
<a href="#" target="_blank" style="color:">公益</a>
<a href="#" target="_blank" style="color:">体验</a>
<a href="#" target="_blank" style="color:">宝贝</a>
<a href="#" target="_blank" style="color:">质量</a>
<a href="#" target="_blank" style="color:">文化</a>
<a href="#" target="_blank" style="color:">工商</a>
<a href="#" target="_blank" style="color:">进口</a>
<a href="#" target="_blank" style="color:">汽车</a>
<a href="#" target="_blank" style="color:">夏日</a>
<a href="#" target="_blank" style="color:">服务</a>
<a href="#" target="_blank" style="color:">移动</a>
<a href="#" target="_blank" style="color:">深圳</a>
<a href="#" target="_blank" style="color:">宝宝</a>
<a href="#" target="_blank" style="color:">合生</a>
<a href="#" target="_blank" style="color:">纸尿裤</a>
<a href="#" target="_blank" style="color:">美食</a>
<a href="#" target="_blank" style="color:">山西</a>
<a href="#" target="_blank" style="color:">行业</a>
<a href="#" target="_blank" style="color:">国际</a>
<a href="#" target="_blank" style="color:">时尚</a>
<a href="#" target="_blank" style="color:">价格</a>
<a href="#" target="_blank" style="color:">升级</a>
<a href="#" target="_blank" style="color:">消法</a>
</div>
</body>
</html>

js 标签云效果的更多相关文章

  1. 基于纯 CSS3 技术实现美观的标签云效果

    标签云是博客的标配功能,能够清晰的呈现博客的各个关键词和主题.在这个效果中,您将学习如何使用 CSS3 技术创建一个效果精美的标签云效果. 作为实验项目,使用了 CSS3 渐变,阴影和最重要的的 CS ...

  2. js 标签云

    以前只看到wordpress上面有个标签云的效果挺6,就好奇的弄个试试,还好网上有很多小伙伴的分享了,借鉴过来了  哈哈 html代码 <!DOCTYPE html> <html&g ...

  3. vue实现标签云效果

    闲扯两句 最近想给自己的博客上加上一个3D标签云的效果,用来表示自己博客文章的分组,网上找到了canvas实现的,还有a元素实现的解析3D标签云,我想让标签可以选择和点击,又不想在标签数量较多时操作a ...

  4. JavaScript实现的3D球面标签云效果

    这个效果都是由 FLASH 实现的,能不能由 JavaScript 实现呢? 我们也十分喜欢这个效果,就花了一些时间写出来了,如图所示: 效果预览点这里:http://www.miaov.com/mi ...

  5. jqcloud 标签云效果

    官网地址: http://mistic100.github.io/jQCloud/index.htmlgithub 地址: https://github.com/lucaong/jQCloud使用 & ...

  6. js实现动态球形标签云

    HTML 原文演示地址:http://www.17sucai.com/pins/demoshow/8108 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  7. 用CSS制作伪标签云

    performance testing stress testing conformance testing acceptane testing smoke testing regression te ...

  8. [翻译] DKTagCloudView - 标签云View

    DKTagCloudView 效果(支持点击view触发事件): Overview DKTagCloudView is a tag clouds view on iOS. It can generat ...

  9. 原生js文字标签云上下滚动播放

    效果:http://hovertree.com/texiao/js/25/ 效果图: 代码如下: <!DOCTYPE html> <html> <head>< ...

随机推荐

  1. java 中的几种 "通用方法“

    前言 Java中,除了基本的数值类型,其他所有数据类型(包括数组)都是对象. 而Object这个类是所有类的超类,它提供的方法,自然能够使用于它的所有子类(所有非基本数值类型). 本文介绍了Objec ...

  2. N Sum

    题目:N Sum 描述: Given an array of integers, return indices of the two numbers such that they add up to ...

  3. html中怎么去掉input获取焦点时候的边框

    如图   这个是在360浏览器极速模式下的效果 有个颜色的边框,,但是在兼容模式下就可以的呢 看看兼容模式下的效果 很显然 上面那个被高亮了,焦点的时候有边框 要怎么弄才能让他始终没有边框呢 2014 ...

  4. JavaWeb学习记录(六)——用户登录功能之Cookie

    private Cookie nameCookie=null;    private Cookie passCookie=null;    private Cookie cookieUser;     ...

  5. spark-DataFrame之RDD和DataFrame之间的转换

    package cn.spark.study.core.mycode_dataFrame; import java.io.Serializable;import java.util.List; imp ...

  6. spark新能优化之reduceBykey和groupBykey的使用

    val counts = pairs.reduceByKey(_ + _) val counts = pairs.groupByKey().map(wordCounts => (wordCoun ...

  7. HDU-5781 ATM Mechine(概率DP)

    题目大意:某个未知整数x等概率的分布在[0,k]中.每次你都可以从这个整数中减去一个任意整数y,如果x>=y,那么x=x-y,操作次数累计加1:否则,将会受到一次错误提示.当错误提示超过w次,将 ...

  8. Andoid 利用ndk-stack定位崩溃代码

    Android NDK自从版本R6开始, 提供了一个工具ndk-stack( 在目录{ndk_root}/中 ). 这个工具能自动分析dump下来的crash log, 将崩溃时的调用内存地址和c++ ...

  9. kuangbin_UnionFind C (HDU 1213)

    过程模板 扫一下一共有几棵树 输出 #include <iostream> #include <string> #include <cstdio> #include ...

  10. ExtJS Panel主要配置列表

    Ext.panel.Panel 属性 值 描述 animCollapse Boolean 设置面板折叠展开是否显示动画,Ext.Fx可用默认true,否则false applyTo Mixed 面板定 ...