亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一個很有趣3D球狀標(biāo)簽云兼容IE8

 更新時間:2014年08月22日 10:28:29   投稿:whsnow  
一個很有趣的標(biāo)簽云兼容 IE 8親測可用,不是基于jQuery的,所以不需要引入,下面是具體的代碼實現(xiàn)

看見一個很有趣的標(biāo)簽云,3D球狀,兼容 IE 8,親測可用!其他版本沒有測試。覺得挺有意思就拿來記錄下來,學(xué)習(xí)學(xué)習(xí),本文下方會放出我看的文章地址,先看一下效果:

接下來是代碼,html + css + js,不是基于jQuery的,所以不需要引入,代碼復(fù)制下來就可以看到效果:

<div id="div1">
<a  rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >忘了滋味</a>
<a  rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >忘了滋味</a>
<a  rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >忘了滋味</a>
<a  rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >忘了滋味</a> 
</div>
body {background: #000 url(index.png) no-repeat center 230px;}
#div1 {position:relative; width:450px; height:450px; margin: 20px auto 0; }
#div1 a {position:absolute; top:0px; left:0px; font-family: Microsoft YaHei; color:#fff; font-weight:bold; text-decoration:none; padding: 3px 6px; }
#div1 a:hover {border: 1px solid #eee; background: #000; }
#div1 .blue {color:blue;}
#div1 .red {color:red;}
#div1 .yellow {color:yellow;}
var radius = 120;
var dtr = Math.PI/180;
var d=300;
var mcList = [];
var active = false;
var lasta = 1;
var lastb = 1;
var distr = true;
var tspeed=10;
var size=250;
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={};

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();

//隨機(jī)排序
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);
}
//坐標(biāo)變換
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);
}

相關(guān)文章

  • 處理文本部分內(nèi)容的TextRange對象應(yīng)用實例

    處理文本部分內(nèi)容的TextRange對象應(yīng)用實例

    TextRange是用來表現(xiàn)HTML元素中文字的對象,是一個用于處理JavaScript對象文本部分內(nèi)容的一個對象
    2014-07-07
  • js中find、findIndex、indexOf的用法和區(qū)別

    js中find、findIndex、indexOf的用法和區(qū)別

    本文主要介紹了js中find、findIndex、indexOf的用法和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 前端 javascript 實現(xiàn)文件下載的示例

    前端 javascript 實現(xiàn)文件下載的示例

    這篇文章主要介紹了前端 javascript 實現(xiàn)文件下載的示例
    2020-11-11
  • js和jquery設(shè)置disabled屬性為true使按鈕失效

    js和jquery設(shè)置disabled屬性為true使按鈕失效

    這篇文章主要介紹了js和jquery使按鈕失效的方法,需要的朋友可以參考下
    2014-08-08
  • JavaScript中的定時器之Item23的合理使用

    JavaScript中的定時器之Item23的合理使用

    window對象提供了兩個方法來實現(xiàn)定時器的效果,分別是window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時間后運(yùn)行;而后者則可以使一段代碼每過指定時間就運(yùn)行一次
    2015-10-10
  • uniapp H5 https跨域請求實現(xiàn)

    uniapp H5 https跨域請求實現(xiàn)

    這篇文章主要介紹了uniapp H5 https跨域請求實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • js實現(xiàn)鼠標(biāo)拖拽div左右滑動

    js實現(xiàn)鼠標(biāo)拖拽div左右滑動

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)鼠標(biāo)拖拽div左右滑動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • javascript判斷是手機(jī)還是電腦訪問網(wǎng)頁的簡單實例分享

    javascript判斷是手機(jī)還是電腦訪問網(wǎng)頁的簡單實例分享

    在智能手機(jī)越來越普及甚至是泛濫的時候,確實給大家的生活帶來了很大的方便,但是對于web前端設(shè)計師來說,可就麻煩多了,現(xiàn)在很多的網(wǎng)站在制作過程中都要考慮到手機(jī)訪問的問題,那么我們?nèi)绾蝸砼袛嗫蛻舳耸遣皇鞘謾C(jī)呢,下面分享個例子吧
    2014-06-06
  • 12個非常有用的JavaScript技巧

    12個非常有用的JavaScript技巧

    在這篇文章中,我將分享12個非常有用的JavaScript技巧。這些技巧可以幫助你減少并優(yōu)化代碼,需要的朋友參考下本文吧
    2017-05-05
  • 微信小程序?qū)崿F(xiàn)城市列表選擇

    微信小程序?qū)崿F(xiàn)城市列表選擇

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)城市列表選擇,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評論