下载: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. C#使用FtpWebRequest上传文件

    System.Net命名空间下的FtpWebRequest类实现了ftp协议的.Net实现. FtpWebRequest.KeepAlive指定在请求完成后服务器是否要马上关闭连接 FtpWebReq ...

  2. 137. Single Number II

    Given an array of integers, every element appears three times except for one. Find that single one. ...

  3. Codeforces Round #277 (Div. 2) A B C 水 模拟 贪心

    A. Calculating Function time limit per test 1 second memory limit per test 256 megabytes input stand ...

  4. Blob 构造函数

    Blob 构造函数使 Web 开发人员可直接在客户端上创建或操作 Blob(经常等效于一个文件). 该构造函数在 W3C 的文件 API 规范中进行定义,该规范目前尚处于工作草案阶段.在较早版本的文件 ...

  5. html部分---格式与布局;

    一:position:fixed(相对于浏览器窗口来对元素进行定位) <style type="text/css"> .aa { position:fixed; lef ...

  6. c#---部分;把数组或者结构体存入集合里,然后再从集合中取出之后,输出;foreach既可以用到提取数组重点额数据,也可以提取集合中的数据(前提是集合中的元素是相同数据类型)

    1.输入班级人数,统计每个人的姓名,性别,年龄:集合与数组 //Console.Write("请输入班级人数:"); //int a = int.Parse(Console.Rea ...

  7. Python简史

    Python简史 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python是我喜欢的语言,简洁,优美,容易使用.前两天,我很激 ...

  8. Apache使用mod_deflate模块压缩页面优化传输速度

    可以写为一行,也可以写多行,默认为gzip SetOutputFilter DEFLATE # Restrict compression to these MIME types AddOutputFi ...

  9. Java继承_接口练习题

    1.创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量.对变量分别赋予10和5的初始值.在main()方法中输出变量值. 编写代码如下: package org.hanqi.pr ...

  10. iPad 2升级iOS 9的过程记录

    有一台老旧的iPad2,iOS版本还是5.1.1,现在好多软件都无法安装了. 决定升级到最新的操作系统,中间的过程,遇到的问题和解决办法如下: 据说升级到iOS 9以后就不好越狱了,不过我也就是用用一 ...