纯前端实现3D旋转动态词云

功能埋点:
1. 纯前端实现,(很简单,也能继续优化,变色等等)
2. 对数据格式没有要求
3. 每一项可点击,可做JS效果(搜索,跳转等)

先看词云效果(动态旋转)不是gif图,实际是3D自动旋转效果
在这里插入图片描述
上代码:
HTML

<body>
	// body 里面没有任何元素,元素在js里创建了一个div
	// 两个script标签,上面的是jq的插件库网上找个版本就好,下面是自己写的js,下面会贴出来。
	<script type="text/javascript" src="./js/jquery.js"></script>
    <script type="text/javascript" src="./js/move.js"></script>
</body>

CSS

    body {
   
            background: #ffffff center 230px;
        }

        #div1 {
   
            position: relative;
            width: 600px;
            height: 600px;
            margin: 20px auto 0;
            border-radius: 10px;
            border:1px solid #ccc !important
        }

        #div1 a {
   
            position: absolute;
            top: 0px;
            left: 0px;
            font-family: Microsoft YaHei;
            color: #0b85ff;
            font-weight: bold;
            text-decoration: none;
            padding: 3px 6px;
        }

        #div1 a:hover {
   
            opacity: 1 !important;
        }
     

JS/ move.js

var radius = 180;//3D 球的半径   词分布的半径
var dtr = Math.PI / 180;
var d = 600;

var mcList = [];
var active = false;		// 默认让文字旋转
var lasta = 1;
var lastb = 1;
var distr = true;
var tspeed = 2;//文字移动速度
var size = 250;
var dataArr = ['苹果', '香蕉', '橘子', '桃子', '西瓜', '葡萄', '橙子', 'xx', 'bb', '苹果', '香蕉', '橘子', '桃子', '西瓜', '葡萄', '橙子', 'xx', 'bb',];

var mouseX = 0;
var mouseY = 0;

var howElliptical = 1;

var aA = null;
var oDiv = null;

function update() {
   
	var a;
	var b;

	if (active) {
   
		a = (-Math.min(Math.max(-mouseY, -size)<
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__不靠谱先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值