教你用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组件的一些写法
Sep 10 Javascript
用js实现in_array的方法
Nov 05 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
Dec 12 Javascript
纯jQuery实现前端分页功能
Mar 23 jQuery
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 Javascript
element-ui中select组件绑定值改变,触发change事件方法
Aug 24 Javascript
vue router 组件的高级应用实例代码
Apr 08 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
Feb 03 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
Vue实现移动端拖拽交换位置
Jul 29 Javascript
浅析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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
php中apc缓存使用示例
2013/12/25 PHP
php过滤敏感词的示例
2014/03/31 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
python二叉树的实现实例
2013/11/21 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
为python设置socket代理的方法
2015/01/14 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
Python变量类型知识点总结
2019/02/18 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
银行会计职员个人的自我评价
2013/09/29 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
公司员工奖惩制度
2015/08/04 职场文书
导游词之广西漓江
2019/11/02 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
MySQL派生表联表查询实战过程
2022/03/20 MySQL
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers