Dedecms实现tags云标签随机颜色与字体大小方法详解

时间:2021-12-28 07:09:26

本文实例讲述了Dedecms实现tags云标签随机颜色与字体大小方法。分享给大家供大家参考。具体分析如下:

这里给大家介绍三种tags云标签随机颜色与字体大小方法,包括直接在dedecms中进行二次开发,另一种利用jquery与js来获取指定div中的A标签并设置连接颜色与字体大小.

修改方法:

1、在/include/common.func.php 中加入如下函数,代码如下:

  1. function getTagStyle()  
  2. {  
  3. $minFontSize=8; //最小字体大小,可根据需要自行更改  
  4. $maxFontSize=18; //最大字体大小,可根据需要自行更改  
  5. return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFontSize-$minFontSize))).'px;color:#'.dechex(rand(0,255)).dechex(rand(0,196)).dechex(rand(0,255));  

在模板中用如下代码调用标签,代码如下:

  1. {dede:tag row='45' getall='1' sort='hot'}  
  2. <a href='[field:link/]' title="[field:tag /]([field:total /])" style="[field:total runphp=yes]@me=getTagStyle();[/field:total]">[field:tag /]</a>  
  3. {/dede:tag} 

如果你不想修改dedecms的话我们可以利用js来实例,代码如下:

  1. <script src="/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>  
  2. <script type="text/javascript">  
  3. $(document).ready(function() {  
  4. var tags_a = $("#tags a");  
  5. tags_a.each(function(){  
  6. var x = 9;  
  7. var y = 0;  
  8. var rand = parseInt(Math.random() * (x - y + 1) + y);  
  9. $(this).addClass("tags"+rand);  
  10. });  
  11. })  
  12. </script> 

css代码如下:

  1. <style>  
  2. body,a{ font-size:13px;}  
  3. a{ color:#333333text-decoration:none;}  
  4. .taglist{ width:250px;overflow:hidden;border:#dddddd solid 1px;}  
  5. .taglist .tit{ width:100%height:24pxline-height:24pxbackground-color:#565662;}  
  6. .taglist .tit a{ padding-left:8pxcolor:#ffffff;}  
  7. #tags a{height:26pxline-height:26px;padding-right:6px;}  
  8. #tags .tags0{}  
  9. #tags .tags1{color:#C00font-size:24px;}  
  10. #tags .tags2{color:#030font-size:16px;}  
  11. #tags .tags3{color:#00F;}  
  12. #tags .tags4font-size:16px;}  
  13. #tags .tags5{color:#C00font-size:20px;}  
  14. #tags .tags6{color:#F06 font-size:20px;}  
  15. #tags .tags7{color:#030font-weight:boldfont-size:18px;}  
  16. #tags .tags8{color:#F06font-weight:bold;}  
  17. #tags .tags9{color:#C00font-weight:bold;font-size:16px;}  
  18. #tags a:hover{ color:#F00text-decoration:underline;}  
  19. .w95width:95%margin:0 autopadding-top:6pxpadding-bottom:6px;}  
  20. .taglist .w95{}  
  21. </style> 

html结构:

  1. <div class="taglist">  
  2. <div class="tit"><a href="#">TAG标签</a></div>  
  3. <div class="w95" id="tags">  
  4. 这里面放你的A标题就可以了。  
  5. </div> 

还有一个更简单的,代码如下:

  1. <script language="javascript" type="text/javascript">  
  2. function randomKeywords(){  
  3. var alinks = document.getElementById("keywords").getElementsByTagName("a");  
  4. var aColors = new Array("#990033""#006666""#9966CC","#FFCC66""#6633CC""#9999CC","#999966""#996666""#9933CC","#FF99CC");  
  5. var aSize = new Array("11px""12px""13px","14px""15px""16px","17px");  
  6. forvar i=0; i<alinks.length; i++){  
  7. alinks[i].style.color=aColors[Math.round(aColors.length*Math.random())];  
  8. alinks[i].style.fontSize=aSize[Math.round(aSize.length*Math.random())];  
  9. }  
  10. }  
  11. randomKeywords();  
  12. </script> 

希望本文所述对大家的dedecms建站有所帮助。