标签:load 滚动 定义 参考 基础上 svg listen method create
原博文vue实现标签云效果。
https://www.cnblogs.com/libin-1/p/7077459.html
在这个博文的基础上,增加了svg文字随机变色,类似如下所示。
具体如何实现滚动标签云,请参考上方的链接,这里只补充彩色字体部分。
主要靠代码中的:fill="colors[index]"随机确定词条颜色。
<div id=‘app‘ > <svg :width=‘width‘ :height=‘height‘ @mousemove=‘listener($event)‘> <a :href="tag.href" v-for=‘tag in tags‘> <text :x=‘tag.x‘ :y=‘tag.y‘ :font-size=‘20 * (600/(600-tag.z))‘ :fill-opacity=‘((400+tag.z)/600)‘ :fill="colors[index]">{{tag.text}}</text> </a> </svg> </div>
在data中定义color数组。
data: {
width:700,//svg宽度
height:700,//svg高度
tagsNum:20,//标签数量
RADIUS:200,//球的半径
speedX:Math.PI/360,//球一帧绕x轴旋转的角度
speedY:Math.PI/360,//球-帧绕y轴旋转的角度
tags: [],
colors: [] //存储颜色
}
在方法中定义随机取色功能。
在created中调用changeColors方法
created() {
this.changeColors();
},
全部代码如下
标签:load 滚动 定义 参考 基础上 svg listen method create
原文地址:https://www.cnblogs.com/cindy79/p/13406251.html