Welcom to 评论 - lizhenqiu blog!
#1730
#1731
#1732
#1733
Name: Commercial ===== LICENSE BEGIN ===== 31157-D26597T 000017kWYG!tV2QVTV!fYKEYiETkfp uYMMmhsTePgthVutczCX4PF0EoHAP7 JYFri32V7hdQkpwJJBgc!lK!o01BOQ ===== LICENSE END ===== Name: OpenSource ===== LICENSE BEGIN ===== 95392-D27147T 00001mG6Lc9YBCATnMFu8EmPzMYqp7 NbTh7xIVABQpVozg0H7GxjSfBtt6f4 RO!bY4fBptyzOAfONsSc78LD!szjcN ===== LICENSE END ===== Name: Educational ===== LICENSE BEGIN ===== 79489-D13780T 00000WevhuSZasfcIHRF8ne1li!gri 5pwr!"ttRDkYTk1IuWgsjyf7WJXLio C47FZxcRcXFHn1XinQ"SldW1lUMr0q ===== LICENSE END ===== Name: Non Commercial ===== LICENSE BEGIN ===== 84788-D22401T 00002ICm3tscFjOI!6D9N6"rlQzY"S hKziDw7jv6nCn4pGY9DeKPt5k8yOVM GbHMoZhfQ"TstQu!LkJmc7BEArnwAQ ===== LICENSE END ===== Name: Site ===== LICENSE BEGIN ===== 79150-D76780T 00000MuB"Ak8tisq3UyV9q2w"kxGn2 WJRSxP4dyKklfPJLfPCByGsgU24kQu ihxpp!!G4VP3XwmhmNbAWQc0xqkK3M ===== LICENSE END ===== Name: Personal ===== LICENSE BEGIN ===== 48363-D36754T 00001Wv2qgaIOgpXEMGjgvtpxGz!M4 8QYCugxdmCGiWEHsqSfeSzyD4oNil! oyK6rzpjhx"ykmcI4DUevGCVa!CXyx ===== LICENSE END =====
#1734
#1735
Y-m-d H:i:s
#1736
ini_set('date.timezone','Asia/Shanghai');
1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;即可。 2、在程序PHP 5以上版本的程序代码中使用函数ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set(‘Asia/Shanghai'); 一些常用的时区标识符说明: Asia/Shanghai – 上海 Asia/Chongqing – 重庆 Asia/Urumqi – 乌鲁木齐 Asia/Hong_Kong – 香港 Asia/Macao – 澳门 Asia/Taipei – 台北 Asia/Singapore – 新加坡
<?php function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的 date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时 date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时 date_default_timezone_set('PRC'); //设置中国时区 ?>
#1737
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 $ckey_length = 4; // 密匙 $key = md5($key ? $key : $GLOBALS['discuz_auth_key']); // 密匙a会参与加解密 $keya = md5(substr($key, 0, 16)); // 密匙b会用来做数据完整性验证 $keyb = md5(substr($key, 16, 16)); // 密匙c用于变化生成的密文 $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : ''; // 参与运算的密匙 $cryptkey = $keya.md5($keya.$keyc); $key_length = strlen($cryptkey); // 明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$keyb(密匙b), //解密时会通过这个密匙验证数据完整性 // 如果是解码的话,会从第$ckey_length位开始,因为密文前$ckey_length位保存 动态密匙,以保证解密正确 $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string; $string_length = strlen($string); $result = ''; $box = range(0, 255); $rndkey = array(); // 产生密匙簿 for($i = 0; $i <= 255; $i++) { $rndkey[$i] = ord($cryptkey[$i % $key_length]); } // 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上对并不会增加密文的强度 for($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } // 核心加解密部分 for($a = $j = $i = 0; $i < $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; // 从密匙簿得出密匙进行异或,再转成字符 $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); } if($operation == 'DECODE') { // 验证数据有效性,请看未加密明文的格式 if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) { return substr($result, 26); } else { return ''; } } else { // 把动态密匙保存在密文里,这也是为什么同样的明文,生产不同密文后能解密的原因 // 因为加密后的密文可能是一些特殊字符,复制过程可能会丢失,所以用base64编码 return $keyc.str_replace('=', '', base64_encode($result)); } }
$str = 'abcdef'; $key = 'www.fyunw.com'; $authcode = authcode($str,'ENCODE',$key,0); //加密 echo $authcode; echo authcode($authcode,'DECODE',$key,0); //解密
function encrypt($string,$operation,$key=''){ $key=md5($key); $key_length=strlen($key); $string=$operation=='D'?base64_decode($string):substr(md5($string.$key),0,8).$string; $string_length=strlen($string); $rndkey=$box=array(); $result=''; for($i=0;$i<=255;$i++){ $rndkey[$i]=ord($key[$i%$key_length]); $box[$i]=$i; } for($j=$i=0;$i<256;$i++){ $j=($j+$box[$i]+$rndkey[$i])%256; $tmp=$box[$i]; $box[$i]=$box[$j]; $box[$j]=$tmp; } for($a=$j=$i=0;$i<$string_length;$i++){ $a=($a+1)%256; $j=($j+$box[$a])%256; $tmp=$box[$a]; $box[$a]=$box[$j]; $box[$j]=$tmp; $result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256])); } if($operation=='D'){ if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8)){ return substr($result,8); }else{ return''; } }else{ return str_replace('=','',base64_encode($result)); } }
$str = 'abc'; $key = 'www.fyunw.com'; $token = encrypt($str, 'E', $key); echo '加密:'.encrypt($str, 'E', $key); echo '解密:'.encrypt($str, 'D', $key);
#1738
function encrypt($data, $key) { $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= $key{$x}; $x++; } for ($i = 0; $i < $len; $i++) { $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); } return base64_encode($str); }
function decrypt($data, $key) { $key = md5($key); $x = 0; $data = base64_decode($data); $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) { $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); } else { $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); } } return $str; }
$data = 'PHP加密解密算法'; // 被加密信息 $key = '123'; // 密钥 $encrypt = encrypt($data, $key); $decrypt = decrypt($encrypt, $key); echo $encrypt, "\n", $decrypt;
#1739
#1740
#1741
#1742
#1743
#1744
#1745
#1746
#1747
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>转转转</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> </head> <style> body{padding:0;margin:0;overflow:hidden;background:#000;} .tt{color:#F00;position:absolute;height:20px;width:20px;top:50%;background:#0F0;border-radius:10px;display:block;} </style> <body> </body> <script type="text/javascript"> var eNum = 48;//点的数量 var eMin = 4;//点的最小大小 var eSize = 10;//点的大小增加量 var eGap = 4;//点的间距 var eSpe = 100;//动画速度,数值越大越慢 var eRad = 0.4;//动画幅度,数值越大越快,数值越小越精细 var eCount = 1;//动画计时器 $(document).ready(function(){ for(var i=1;i<=eNum;i++){ if(3*i<=eNum){ $("body").append('<div class="tt" style="left:'+(eGap*eNum+eGap*i)+'px;background-color:rgb('+(255)+','+(i*Math.floor(765/eNum))+','+(0)+');"></div>'); } if((3*i>eNum)&&(3*i<=2*eNum)){ $("body").append('<div class="tt" style="left:'+(eGap*eNum+eGap*i)+'px;background-color:rgb('+(0)+','+(510-i*Math.floor(765/eNum))+','+(i*Math.floor(765/eNum)-255)+');"></div>'); } if(3*i>2*eNum){ $("body").append('<div class="tt" style="left:'+(eGap*eNum+eGap*i)+'px;background-color:rgb('+(i*Math.floor(382/eNum)-230)+','+(0)+','+(255)+');"></div>'); } $(".tt:last").css({"height":eMin+i*eSize/eNum+"px","width":eMin+i*eSize/eNum+"px","border-radius":0.5*(eMin+i*eSize/eNum)+"px"});//设置点大小 }//创建点 var eInt = setInterval(eAni,eSpe);//开始动画 }); function eAni(){ var eTemp1 = eGap*(1-Math.cos(Math.PI*eRad*eCount/180)); var eTemp2 = eGap*Math.sin(Math.PI*eRad*eCount/180); var eTemp3 = $(".tt:eq(0)").position().top; eCount = eCount + 1; for(var i=0;i<eNum;i++){ $(".tt:eq("+i+")").animate({ left:(eGap*eNum+eGap*(i+1)-(i)*eGap*(1-Math.cos(Math.PI*(eNum-i)*eRad*eCount/180)))+'px', top:(eTemp3+(i)*eGap*Math.sin(Math.PI*(eNum-i)*eRad*eCount/180))+'px' },eSpe); } } </script> </html>
#1748
确定要清除编辑框内容吗?
该删除操作将不可恢复。
删除 取消
激活Windows
转到"设置"以激活Windows。
#1730
#1731
#1732
男人:老婆因强拆喝了农药!
医生:吐出来就好。
男人:办法都用完了,灌大便水,她不吐,灌的人却吐了。
医生听完,靠近妇女的耳朵说:
利为民所谋!(女有点反应),
情为民所系!(女有点抽搐),
立裆为公!(女发出恶心的声音),
执政为民!(女捂住嘴巴),
以人为本!(女翻了个身全部吐出来了)
男人激动地说:是裆救了我们啊!
#1733
Name: Commercial ===== LICENSE BEGIN ===== 31157-D26597T 000017kWYG!tV2QVTV!fYKEYiETkfp uYMMmhsTePgthVutczCX4PF0EoHAP7 JYFri32V7hdQkpwJJBgc!lK!o01BOQ ===== LICENSE END ===== Name: OpenSource ===== LICENSE BEGIN ===== 95392-D27147T 00001mG6Lc9YBCATnMFu8EmPzMYqp7 NbTh7xIVABQpVozg0H7GxjSfBtt6f4 RO!bY4fBptyzOAfONsSc78LD!szjcN ===== LICENSE END ===== Name: Educational ===== LICENSE BEGIN ===== 79489-D13780T 00000WevhuSZasfcIHRF8ne1li!gri 5pwr!"ttRDkYTk1IuWgsjyf7WJXLio C47FZxcRcXFHn1XinQ"SldW1lUMr0q ===== LICENSE END ===== Name: Non Commercial ===== LICENSE BEGIN ===== 84788-D22401T 00002ICm3tscFjOI!6D9N6"rlQzY"S hKziDw7jv6nCn4pGY9DeKPt5k8yOVM GbHMoZhfQ"TstQu!LkJmc7BEArnwAQ ===== LICENSE END ===== Name: Site ===== LICENSE BEGIN ===== 79150-D76780T 00000MuB"Ak8tisq3UyV9q2w"kxGn2 WJRSxP4dyKklfPJLfPCByGsgU24kQu ihxpp!!G4VP3XwmhmNbAWQc0xqkK3M ===== LICENSE END ===== Name: Personal ===== LICENSE BEGIN ===== 48363-D36754T 00001Wv2qgaIOgpXEMGjgvtpxGz!M4 8QYCugxdmCGiWEHsqSfeSzyD4oNil! oyK6rzpjhx"ykmcI4DUevGCVa!CXyx ===== LICENSE END =====#1734
#1735
Y-m-d H:i:s#1736
ini_set('date.timezone','Asia/Shanghai');1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;即可。 2、在程序PHP 5以上版本的程序代码中使用函数ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set(‘Asia/Shanghai'); 一些常用的时区标识符说明: Asia/Shanghai – 上海 Asia/Chongqing – 重庆 Asia/Urumqi – 乌鲁木齐 Asia/Hong_Kong – 香港 Asia/Macao – 澳门 Asia/Taipei – 台北 Asia/Singapore – 新加坡<?php function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的 date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时 date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时 date_default_timezone_set('PRC'); //设置中国时区 ?>#1737
项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理。
最常见的应用在用户登录以及一些API数据交换的场景。
最常见的应用在用户登录以及一些API数据交换的场景。
笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果。
1、非常给力的authcode加密函数,Discuz!经典代码(带详解):
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 $ckey_length = 4; // 密匙 $key = md5($key ? $key : $GLOBALS['discuz_auth_key']); // 密匙a会参与加解密 $keya = md5(substr($key, 0, 16)); // 密匙b会用来做数据完整性验证 $keyb = md5(substr($key, 16, 16)); // 密匙c用于变化生成的密文 $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : ''; // 参与运算的密匙 $cryptkey = $keya.md5($keya.$keyc); $key_length = strlen($cryptkey); // 明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$keyb(密匙b), //解密时会通过这个密匙验证数据完整性 // 如果是解码的话,会从第$ckey_length位开始,因为密文前$ckey_length位保存 动态密匙,以保证解密正确 $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string; $string_length = strlen($string); $result = ''; $box = range(0, 255); $rndkey = array(); // 产生密匙簿 for($i = 0; $i <= 255; $i++) { $rndkey[$i] = ord($cryptkey[$i % $key_length]); } // 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上对并不会增加密文的强度 for($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } // 核心加解密部分 for($a = $j = $i = 0; $i < $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; // 从密匙簿得出密匙进行异或,再转成字符 $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); } if($operation == 'DECODE') { // 验证数据有效性,请看未加密明文的格式 if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) { return substr($result, 26); } else { return ''; } } else { // 把动态密匙保存在密文里,这也是为什么同样的明文,生产不同密文后能解密的原因 // 因为加密后的密文可能是一些特殊字符,复制过程可能会丢失,所以用base64编码 return $keyc.str_replace('=', '', base64_encode($result)); } }函数authcode($string, $operation, $key, $expiry)中的$string:字符串,明文或密文;$operation:DECODE表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。
用法:
$str = 'abcdef'; $key = 'www.fyunw.com'; $authcode = authcode($str,'ENCODE',$key,0); //加密 echo $authcode; echo authcode($authcode,'DECODE',$key,0); //解密2、加解密函数encrypt():
function encrypt($string,$operation,$key=''){ $key=md5($key); $key_length=strlen($key); $string=$operation=='D'?base64_decode($string):substr(md5($string.$key),0,8).$string; $string_length=strlen($string); $rndkey=$box=array(); $result=''; for($i=0;$i<=255;$i++){ $rndkey[$i]=ord($key[$i%$key_length]); $box[$i]=$i; } for($j=$i=0;$i<256;$i++){ $j=($j+$box[$i]+$rndkey[$i])%256; $tmp=$box[$i]; $box[$i]=$box[$j]; $box[$j]=$tmp; } for($a=$j=$i=0;$i<$string_length;$i++){ $a=($a+1)%256; $j=($j+$box[$a])%256; $tmp=$box[$a]; $box[$a]=$box[$j]; $box[$j]=$tmp; $result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256])); } if($operation=='D'){ if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8)){ return substr($result,8); }else{ return''; } }else{ return str_replace('=','',base64_encode($result)); } }函数encrypt($string,$operation,$key)中$string:需要加密解密的字符串;$operation:判断是加密还是解密,E表示加密,D表示解密;$key:密匙。
用法:
$str = 'abc'; $key = 'www.fyunw.com'; $token = encrypt($str, 'E', $key); echo '加密:'.encrypt($str, 'E', $key); echo '解密:'.encrypt($str, 'D', $key);#1738
对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。
对于需要还原的信息,则需要采用可逆的加密解密算法。
下面一组PHP函数是实现此加密解密的方法:
加密算法如下:
function encrypt($data, $key) { $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= $key{$x}; $x++; } for ($i = 0; $i < $len; $i++) { $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); } return base64_encode($str); }解密算法如下:
function decrypt($data, $key) { $key = md5($key); $x = 0; $data = base64_decode($data); $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) { $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); } else { $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); } } return $str; }上述加密解密的过程均需要用到一个加密密钥(即参数$key)。
$data = 'PHP加密解密算法'; // 被加密信息 $key = '123'; // 密钥 $encrypt = encrypt($data, $key); $decrypt = decrypt($encrypt, $key); echo $encrypt, "\n", $decrypt;#1739
我承认google里面可以找到很多资料,抄都抄死你,但是不要全是google出来就好。
要多加点自己的思考。
我很喜欢google。
我回复这些内容不需要google,也没有在电脑里翻东西,我是基于自己的理解。
本来就是顺带着讨论的嘛,你看看,俺们偏离主题这么远!
摘要算法可以单向加密,我为什么不用呢?可以解决实际问题的呀。
你的加密算法MD5,估计你是不会用它算摘要的哦。
因为你的逻辑里是这样的:不是加密算法就不能用来加密;不是摘要算法当然就不能算摘要喽,用了可是犯规的哦。
ok,凡是可以用来加密的,就是加密算法!凡是可以打字的都是打字机,我知道,你正在用打字机浏览这个帖子。
从你的语气和回复速度,可以知道你很激动,怎么这么沉不住气啊,讨论嘛,弄得跟吵架似的。估计年纪不大,真是英雄出少年啊。反应敏捷。
从你回复的内容来看,你很喜欢想当然,自己认为是怎么样的,就能断定别人就是怎么样的,这么酷啊?酷毙了!
好了,再说下去我就跟你一样了!那可糟了。
哦,差点忘了告诉你:
摘要算法的特色是算摘要,MD5是典型的摘要算法。
专家说了,MD5 是 Digital Signature Algorithms(数字签名算法,也就是我们说的摘要算法)。
至于DES等为什么没有明确写明是 加密算法,可能是你没有看到吧,你写论文应该找了不少资料的啊,怎么就没看到呢?
要不你自己再去问问专家吧。不管你问得到还是问不到,不必告诉我们,因为我们本来就承认 DES,RSA 等是加密算法。
#1740
#1741
#1742
#1743
#1744
#1745
#1746
#1747
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>转转转</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> </head> <style> body{padding:0;margin:0;overflow:hidden;background:#000;} .tt{color:#F00;position:absolute;height:20px;width:20px;top:50%;background:#0F0;border-radius:10px;display:block;} </style> <body> </body> <script type="text/javascript"> var eNum = 48;//点的数量 var eMin = 4;//点的最小大小 var eSize = 10;//点的大小增加量 var eGap = 4;//点的间距 var eSpe = 100;//动画速度,数值越大越慢 var eRad = 0.4;//动画幅度,数值越大越快,数值越小越精细 var eCount = 1;//动画计时器 $(document).ready(function(){ for(var i=1;i<=eNum;i++){ if(3*i<=eNum){ $("body").append('<div class="tt" style="left:'+(eGap*eNum+eGap*i)+'px;background-color:rgb('+(255)+','+(i*Math.floor(765/eNum))+','+(0)+');"></div>'); } if((3*i>eNum)&&(3*i<=2*eNum)){ $("body").append('<div class="tt" style="left:'+(eGap*eNum+eGap*i)+'px;background-color:rgb('+(0)+','+(510-i*Math.floor(765/eNum))+','+(i*Math.floor(765/eNum)-255)+');"></div>'); } if(3*i>2*eNum){ $("body").append('<div class="tt" style="left:'+(eGap*eNum+eGap*i)+'px;background-color:rgb('+(i*Math.floor(382/eNum)-230)+','+(0)+','+(255)+');"></div>'); } $(".tt:last").css({"height":eMin+i*eSize/eNum+"px","width":eMin+i*eSize/eNum+"px","border-radius":0.5*(eMin+i*eSize/eNum)+"px"});//设置点大小 }//创建点 var eInt = setInterval(eAni,eSpe);//开始动画 }); function eAni(){ var eTemp1 = eGap*(1-Math.cos(Math.PI*eRad*eCount/180)); var eTemp2 = eGap*Math.sin(Math.PI*eRad*eCount/180); var eTemp3 = $(".tt:eq(0)").position().top; eCount = eCount + 1; for(var i=0;i<eNum;i++){ $(".tt:eq("+i+")").animate({ left:(eGap*eNum+eGap*(i+1)-(i)*eGap*(1-Math.cos(Math.PI*(eNum-i)*eRad*eCount/180)))+'px', top:(eTemp3+(i)*eGap*Math.sin(Math.PI*(eNum-i)*eRad*eCount/180))+'px' },eSpe); } } </script> </html>#1748