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 相关文章推荐
利用XMLHTTP传递参数在另一页面执行并刷新本页
Oct 26 Javascript
用JavaScript调用WebService的示例
Apr 07 Javascript
DWZ table的原生分页浅谈
Mar 01 Javascript
JS获取html对象的几种方式介绍
Dec 05 Javascript
node.js中的fs.appendFileSync方法使用说明
Dec 17 Javascript
javascript实现检验的各种规则
Jul 31 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
JavaScript第一篇之实现按钮全选、功能
Aug 21 Javascript
实现JavaScript高性能的数据存储
Dec 11 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
Vue.js中该如何自己维护路由跳转记录
May 19 Javascript
vue 授权获取微信openId操作
Nov 13 Javascript
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 xml 入门学习资料
2011/01/01 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
JavaScript 学习历程和心得分享
2010/12/12 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
CentOS6.5设置Django开发环境
2016/10/13 Python
Django实现跨域的2种方法
2019/07/31 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
python3 re返回形式总结
2020/11/20 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
火车来了教学反思
2014/02/11 职场文书
演讲稿格式范文
2014/05/19 职场文书
企业金融服务方案
2014/06/03 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
python requests模块的使用示例
2021/04/07 Python
总结Python使用过程中的bug
2021/06/18 Python
js判断两个数组相等的5种方法
2022/05/06 Javascript