JS文字球状放大效果代码分享


Posted in Javascript onAugust 19, 2015

很酷的放大镜放大文字的效果,超赞!

先展示一下效果图:

JS文字球状放大效果代码分享

大家先运行代码试一试-------------------------------------效果演示-------------------------------------------

具体代码如下

<html>
<head>
<title>JS文字球状放大效果</title>
<meta http-equiv="imagetoolbar" content="no">
<style type="text/css">
 body {cursor:crosshair;margin:0; padding:0; position:absolute; overflow:hidden; background:#000; left:0; top:0; width:100%; height:100%;}
 span {position:absolute;font-family: verdana; font-weight: bold;}
</style>

<script type="text/javascript"><!--

T = "What is real?How do you define real? Ifyou're talkingabout what youcan feel whatyou can smellwhat you cantaste and seethen real issimply electrical signalsinterpreted byyour brain! ";
I = 0;
o = new Array();
xm = -1000;
ym = -1000;
///////////////
rad = 80;
dim = 200;
///////////////
W = 0;
H = 0;
NX = 14;
NY = 14;
var nx;
var ny;

document.onmousemove = function(e){
 if (window.event) e = window.event;
 xm = (e.x || e.clientX) - (nx * .5) + dim * .5;
 ym = (e.y || e.clientY) - (ny * .5) + dim * .5;
}

function resize() {
 nx = document.body.offsetWidth;
 ny = document.body.offsetHeight;
}
onresize = resize;

function CObj(N,i,j,c){
 this.obj = document.createElement("span");
 this.obj.innerHTML = c;
 DOOT.appendChild(this.obj);
 this.N = N;
 this.To = 16;
 this.x0 = i*2*W;
 this.y0 = j*2*H;
 this.anim = true;

 this.mainloop = function(){
 with (this) {
 dx = xm - x0;
 dy = ym - y0;
 dist = Math.sqrt(dx * dx + dy * dy);
 if (dist < rad) {
 anim = true;
 M = Math.cos(.5 * Math.PI * Math.abs(dist / rad));
 c = Math.round(84 + M * 171);
 with(obj.style){
 left = x0 - dx * M;
 top = y0 - dy * M;
 zIndex = Math.round(100 + M);
 fontSize = 8 + M * W * 2;
 color = "RGB("+c+","+c+","+c+")";
 }
 } else {
 if(anim){
 with(obj.style){
 left = x0;
 top = y0;
 zIndex = 0;
 fontSize = 8;
 color = "RGB(88,88,88)";
 }
 anim = false;
 }
 }
 }
 }
}
function run(){
 for(i in o)o[i].mainloop();
 setTimeout(run,16);
}

onload = function (){
 DOOT = document.getElementById("doot");
 with(DOOT.style){
 left = -dim/2;
 top = -dim/2;
 width = dim;
 height = dim;
 }
 resize();
 W = (dim / NX) / 2;
 H = (dim / NY) / 2;
 K = 0;
 for(var j=0;j<NY;j++){
 for(var i=0;i<NX;i++){
 c=T.charAt((I++)%T.length).toUpperCase();
 if(c==" ")c="·";
 o[K] = new CObj(K++,i,j,c);
 }
 }
 run();
}
//-->
</script>
</head>

<body>
<span style="position:absolute;left:50%;top:50%">
 <span id="doot"></span>
</span>

</body>
</html>

小伙伴们想不想实现这种酷炫的效果,直接复制代码,运行即可,抓紧试试吧,或者是再来点创新。

以上就是为大家分享的JavaScript文字球状放大效果代码,希望大家可以喜欢。

Javascript 相关文章推荐
jquery tablesorter.js 支持中文表格排序改进
Dec 09 Javascript
javascript 面向对象 function类
May 13 Javascript
json中换行符的处理方法示例介绍
Jun 10 Javascript
深入分析JSONP跨域的原理
Dec 10 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
js面向对象编程总结
Feb 16 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
Jun 04 Javascript
原生javascript实现文件异步上传的实例讲解
Oct 26 Javascript
JavaScript实现QQ列表展开收缩扩展功能
Oct 30 Javascript
JavaScript生成指定范围的时间列表
Mar 19 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
IE6兼容透明背景图片及解决方案
Aug 19 #Javascript
JavaScript实现表格快速变色效果代码
Aug 19 #Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 #Javascript
JS时间特效最常用的三款
Aug 19 #Javascript
js仿黑客帝国字母掉落效果代码分享
Nov 08 #Javascript
JS模拟并美化的表单控件完整实例
Aug 19 #Javascript
js实现文本框只允许输入数字并限制数字大小的方法
Aug 19 #Javascript
You might like
PHP新手上路(十一)
2006/10/09 PHP
ajax缓存问题解决途径
2006/12/06 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
php for 循环使用的简单实例
2016/06/02 PHP
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
每日十条JavaScript经验技巧(一)
2016/06/23 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
React Router基础使用
2017/01/17 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
python最长回文串算法
2018/06/04 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Python递归实现打印多重列表代码
2020/02/27 Python
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
2014大四本科生自我鉴定总结
2014/10/04 职场文书
门卫岗位职责
2015/02/09 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
暂住证明怎么写
2015/06/19 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏
python处理json数据文件
2022/04/11 Python