首页 > 其他 > 网站日记>正文

[js]随机生成颜色,批量设置

提示: 阅读权限:公开  
function randColor(){
    var r=Math.floor(Math.random()*256);
    var g=Math.floor(Math.random()*256);
    var b=Math.floor(Math.random()*256);
    light=r*0.299 + g*0.578 + b*0.114;
    if(light>192 || light<60)return randColor();
    return "#"+("0"+r.toString(16)).slice(-2)+("0"+g.toString(16)).slice(-2)+("0"+b.toString(16)).slice(-2);
}

这是个递归调用的函数,如果颜色太深或者太浅,都排除掉。灰度大于192的太浅,小于60的太深。

$('.wrap').each(function(){
    color=randColor();
    $(this).find(".top,.icon-tel").css("background-color",color);
    $(this).find(".center,.tel-phone").css("color",color);
    
});


引用jquery后,可以这样批量的设置元素的背景色和文字颜色。


相应的php版本为:

<?php
function randColor($sH=60,$bH=192){
   $r=rand(0,255);
   $g=rand(0,255);
   $b=rand(0,255);
   $light=$r*0.299 + $g*0.578 + $b*0.114;
   if($light>$bH || $light<$sH)return randColor();
   return  substr('0'.dechex($r),-2). substr('0'.dechex($g),-2). substr('0'.dechex($b),-2);
}
echo randColor();
?>


上一篇:标签切换的示范效果

下一篇:帝国cms赞一下代码

tags: 批量 生成

返回首页

相关

热门

站内直通车

首页养生方剂 呼吸消化性病血液 外科妇科男科 口腔血管 鼻喉 眼科耳科儿科 分泌泌尿肝胆 肛肠骨科神经 呼吸皮肤肿瘤 其他象数医书
返回顶部