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 防止表单重复提交代码
Jan 21 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
Feb 27 Javascript
高效的获取当前元素是父元素的第几个子元素
Oct 15 Javascript
JS如何判断移动端访问设备并解析对应CSS
Nov 27 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
JavaScript Array对象详解
Mar 01 Javascript
jquery过滤特殊字符',防sql注入的实现方法
Aug 17 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
Aug 17 Javascript
浅谈Angular 的变化检测的方法
Mar 01 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 Javascript
jQuery实现的分页插件完整示例
May 26 jQuery
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 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
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
DOM精简教程
2006/10/03 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
2019/03/16 jQuery
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
Python如何解除一个装饰器
2020/08/07 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
python ssh 执行shell命令的示例
2020/09/29 Python
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
公司会计主管岗位责任制
2014/03/01 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
解决Redis启动警告问题
2022/02/24 Redis