教你用javascript实现随机标签云效果_附代码


Posted in Javascript onMarch 16, 2016

标签云是一套相关的标签以及与此相应的权重。典型的标签云有30至150个标签。权重影响使用的字体大小或其他视觉效果。同时,直方图或饼图表是最常用的代表约12种不同的权数。因此,标签云彩能代表更多的权,尽管不那么准确。此外,标签云通常是可以交互的:标签是典型的超链接,让用户可以仔细了解他们的内容。
 
大概可以理解为一堆相关或者不相关的标签混到一块,根据不同的重要程度,或者其他维度的不同来为每个标签设置不同的样式已凸显他们的不同,这样的一堆标签在一起就是我们通常说的标签云了。
 
下面我们大概说一下标签云实现的原理:
明白了标签云是咋回事儿那么实现起来就简单了,其实就是根据每个标签的不同的重要性设置不同的样式就可以了。
这里我们使用随机数实现一个简单的标签云,不是根据某些维度来实现,纯粹的随机样式。这边标签云实际是一堆a标签,然后随机设置颜色和字体大小,当然字体大小有个最大最小限制的。
1、我们设置了一个取随机数函数,和一个随机颜色函数,通过这两个函数为标签设置样式。
2、我们把所有的a标签循环,然后利用步骤一里边的随机数,和随机颜色设置这些标签的字体大小和颜色。
 
查看效果如下:

教你用javascript实现随机标签云效果_附代码

一个简单的标签云就完事了。

其实我们还可以吧样式设置到样式文件,然后通过为a标签设置class来设置a标签的样式,这样灵活性更大。

如果需要根据某些维度来设置的话,那么可以给a标签设置好这种维度的属性,然后根据这些属性来设置样式。

下面看代码:

html代码:

<div id="wrap">
 <a href="#">web标准学习</a>
 <a href="#">css</a>
 <a href="#">javascript</a>
 <a href="#">html5</a>
 <a href="#">canvas</a>
 <a href="#">video</a>
 <a href="#">audio</a>
 <a href="#">jQuery</a>
 <a href="#">jQuerymobile</a>
 <a href="#">flash</a>
 <a href="#">firefox</a>
 <a href="#">chrome</a>
 <a href="#">opera</a>
 <a href="#">IE9</a>
 <a href="#">css3.0</a>
 <a href="#">andriod</a>
 <a href="#">apple</a>
 <a href="#">google</a>
 <a href="#">jobs</a>
 </div>

javascript代码:

window.onload=function(){
 var obox=document.getElementById("wrap");
 var obj=obox.getElementsByTagName("a");
 //随机方法
 function rand(num){
  return parseInt(Math.random()*num+1);
 }
 //随机颜色值
 function randomcolor(){
  var str=Math.ceil(Math.random()*16777215).toString(16);
  if(str.length<6){
   str="0"+str;
  }
  return str;
 }
 //循环
 for( len=obj.length,i=len;i--;){
  obj[i].className="color"+rand(5);
  obj[i].style.zIndex=rand(5);
  obj[i].style.fontSize=rand(12)+12+"px";
  // obj[i].style.background="#"+randomcolor();
  obj[i].style.color="#"+randomcolor();
  obj[i].onmouseover=function(){
   this.style.background="#"+randomcolor();
  }
  obj[i].onmouseout=function(){
   this.style.background="none";
  }
 }
}

以上这篇教你用javascript实现随机标签云效果_附代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现DIV的一些简单控制
Jun 04 Javascript
javascript 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 Javascript
jQuery短信验证倒计时功能实现方法详解
May 25 Javascript
详解Node中导入模块require和import的区别
Aug 11 Javascript
Angular 作用域scope的具体使用
Dec 11 Javascript
微信小程序实现工作时间段选择
Feb 15 Javascript
解决Vue router-link绑定事件不生效的问题
Jul 22 Javascript
vue3.0封装轮播图组件的步骤
Mar 04 Vue.js
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
Mar 16 #Javascript
js纯数字逐一停止显示效果的实现代码
Mar 16 #Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
Mar 16 #Javascript
js获取时间精确到秒(年月日)
Mar 16 #Javascript
js实现内容显示并使用json传输数据
Mar 16 #Javascript
javascript中arguments,callee,caller详解
Mar 16 #Javascript
Bootstrap每天必学之滚动监听
Mar 16 #Javascript
You might like
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
使用php计算排列组合的方法
2013/11/13 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
js实现烟花特效
2020/03/02 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
python实现矩阵乘法的方法
2015/06/28 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
如何使用Python多线程测试并发漏洞
2019/12/18 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
python如何写try语句
2020/07/14 Python
怎么写好自荐信
2013/10/30 职场文书
思想汇报格式
2014/01/05 职场文书
建筑工地文明标语
2014/10/09 职场文书
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang