javascript版本的3d标签云球简单分析

2 篇文章 0 订阅
2 篇文章 0 订阅

flash版本的性能看起来比较好.但是对于seo来说不是很友好;

有个项目需要这东西.于是搜索了一下,发现wp上实现的比较好.

且有人实现了js版本.

由于自己没有安装wp.于是通过php代码查看一下和粗略跟踪下js,js边的配置和使用情况大概如下.


从Plugin Name: WP-Cirrus
 *    Plugin URI: http://www.ga-ap.de/plugins/wp-cirrus/下载它的源代码回来,

wp_cirrus_gwt目录中的文件不要动,

它大概的加载逻辑是

人工加载它的css(其实这个文件,没什么内容,自己可以看着写)

再加载那个目录下的js文件

然后在页面放置以下格式的结构


标签html结构,id是写死的,不能改动,除非想改它里面的html代码,觉得没必要,这个东西ting吃cpu的,一个就足够了,不可能还有人一个页面多个;

h和w最好也写上,下面的参数与这有关系,里面的子元素可以自己使用样式来修饰.

<box style="position: relative; height: 550px; width: 550px;"  id="cirrusCloudWidget">

<a>标签一</a>

<a>标签2</a>

</box>


配置js

<script>

//注意这里的变量名是不能更改的




var wpcirrusRadiuscirrusCloudWidget = 0;//半径,0自动根据外框检测,就是上面的html代码结构中box的w和h
var wpcirrusRefreshratecirrusCloudWidget = 40;//刷新频率,ms, 40 = 25fps, 0 = default (30ms)
var wpcirrusFontColorcirrusCloudWidget = 'white';//字色
var wpcirrusBackgroundColorcirrusCloudWidget = 'black';//背景

</script>

配置即可完成

;

代码分析

里面经过md5_nocache.html文件它们的对应关系是(也就是对应的浏览器内核调用不同,估计编写的人对浏览器和js引擎比较nb,里面使用了不同的优化):


["gecko1_8"] "19CF2CFAEA361BC9322AB6BA0049A1EC"
["opera"] "1A432AC32F64235633E7D122787AC882"
["ie8"] "5002B6412A8D5B4C8F6F8D56590FC449"
["safari"] "55860FE4F948701465AE6303D5E1503D"
["ie6"] "F797846EE06A281B237C60BF95CD2CA3"
["ie9"] "FF0F5B45604CEA0EA47B4C76C6F91E3D"


通过.js文件分析内核,然后通过iframe加载对应的内核渲染html文件


因为这个东西,个数过多时,会非常难看,

所以,可以配合定时换批的动作来实现多数量,然后在更换时,元素慢慢变小,换完后再慢慢变大,再设置一下class来定义新的样式即可.

javascript版本的3d标签云球简单分析 - qidizi - qidizi 的博客

使用div隐藏+放大直径

javascript版本的3d标签云球简单分析 - qidizi - qidizi 的博客


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Three.js和TagCloud.js来创建一个JavaScript 3D标签云。 1. 首先,您需要引入Three.js和TagCloud.js库: ```html <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/three-tag-cloud.min.js"></script> ``` 2. 创建一个canvas元素: ```html <canvas id="canvas"></canvas> ``` 3. 使用JavaScript创建标签云: ```javascript // 获取canvas元素和窗口大小 const canvas = document.getElementById('canvas'); const width = window.innerWidth; const height = window.innerHeight; // 创建场景、相机和渲染器 const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000); const renderer = new THREE.WebGLRenderer({ canvas }); renderer.setSize(width, height); // 创建标签云 const tagCloud = new THREE.TagCloud(); tagCloud.update(['JavaScript', 'HTML', 'CSS', 'Three.js', 'TagCloud.js'], { font: 'Arial', size: 40, color: '#ffffff', backgroundColor: '#333333', }); // 将标签云添加到场景中 scene.add(tagCloud); // 设置相机位置 camera.position.z = 500; // 渲染循环 function animate() { requestAnimationFrame(animate); tagCloud.rotateY(0.002); renderer.render(scene, camera); } animate(); ``` 此代码将创建一个具有JavaScript、HTML、CSS、Three.js和TagCloud.js标签标签云,并将其添加到场景中。然后,它将设置相机位置并启动渲染循环,以便在屏幕上呈现标签云。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值