js实现文字跟随鼠标移动而移动的方法


Posted in Javascript onFebruary 28, 2015

本文实例讲述了js实现文字跟随鼠标移动而移动的方法。分享给大家供大家参考。具体分析如下:

这是一款非常简单的鼠标特性代码,在网页中移动鼠标的时候,后面跟着一串文字跟随者鼠标移动

<html>

<head>

<style type="text/css">

.spanstyle {

COLOR: 000000; FONT-SIZE: 10pt; POSITION: absolute; TOP: -50px; VISIBILITY: visible

}

</style>

<script>

var x,y

var step=18 //这里是相邻两个字之间的间隔

var flag=0

var message="三水点靠木 3water.com 欢迎你的光临!" //这里放需要显示的文字

message=message.split("") //将字符串分解为数组

var xpos=new Array() //创建数组,以记录每个位置的x坐标

for (i=0;i<=message.length-1;i++) { //给每个元素先赋一个初始值

xpos[i]=-50

}

var ypos=new Array() //创建数组,以记录每个位置的y坐标

for (i=0;i<=message.length-1;i++) {

ypos[i]=-200

}

function movehandler(e){ //处理鼠标移动事件

x = (document.layers) ? e.pageX : document.body.scrollLeft+event.clientX //根据浏览器的不同,记录鼠标的水平位置

y = (document.layers) ? e.pageY : document.body.scrollTop+event.clientY //记录鼠标的垂直位置

flag=1 //鼠标位置已经改变,需要重新计算

}

function makesnake() {

if (flag==1 && document.all) { //如果是IE

for (i=message.length-1; i>=1; i--) { //处理坐标队列

xpos[i]=xpos[i-1]+step //将每一座标数据前移一格,并加上字符间距

ypos[i]=ypos[i-1]

}

xpos[0]=x+step //将新数据写进坐标数据队列尾部

ypos[0]=y

for (i=0; i<message.length-1; i++) {

var thisspan = eval("span"+(i)+".style")// 生成当前操作对象spanx.style

thisspan.posLeft=xpos[i]

thisspan.posTop=ypos[i]

}

}

else if (flag==1 && document.layers) { //如果是NS

for (i=message.length-1; i>=1; i--) { //处理坐标队列

xpos[i]=xpos[i-1]+step //将每一座标数据前移一格,并加上字符间距

ypos[i]=ypos[i-1]

}

xpos[0]=x+step //将新数据写进坐标数据队列尾部

ypos[0]=y

for (i=0; i<message.length-1; i++) { //根据数组的数据改变每一个字所在的层的坐标

var thisspan = eval("document.span"+i) //生成当前操作对象document.spanx

thisspan.left=xpos[i]

thisspan.top=ypos[i]

}

}

var timer=setTimeout("makesnake()",30) //30毫秒后再次根据情况调整各字符位置

}

</script>

</head>

<body bgcolor="ffffff" onload="makesnake()">

<script>

<!-- Beginning of JavaScript -

//这里为每个字生成一个span作为容器

for (i=0;i<=message.length-1;i++) {

document.write("<span id='span"+i+"' class='spanstyle'>")

document.write(message[i])

document.write("</span>")

}

//规定鼠标移动事件的处理过程

if (document.layers){

document.captureEvents(Event.MOUSEMOVE);

}

document.onmousemove = movehandler;

// - End of JavaScript - -->

</script>

</body>

<br><b>这种效果是不是很酷啊?</b></br>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
仿服务器端脚本方式的JS模板实现方法
Apr 27 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
Feb 28 Javascript
jQuery简单实现仿京东分类导航层效果
Jun 07 Javascript
正则表达式(语法篇推荐)
Jun 24 Javascript
javascript实现滑动解锁功能
Mar 22 Javascript
vue中父子组件注意事项,传值及slot应用技巧
May 09 Javascript
浅谈发布订阅模式与观察者模式
Apr 09 Javascript
jquery分页优化操作实例分析
Aug 23 jQuery
Vue实例的对象参数options的几个常用选项详解
Nov 08 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
Nov 07 Javascript
JS实现公告上线滚动效果
Jan 10 Javascript
分享几个JavaScript运算符的使用技巧
Apr 24 Javascript
jQuery实现tab标签自动切换的方法
Feb 28 #Javascript
js根据鼠标移动速度背景图片自动旋转的方法
Feb 28 #Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
Feb 28 #Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 #Javascript
JS网页在线获取鼠标坐标值的方法
Feb 28 #Javascript
js实现背景图片感应鼠标变化的方法
Feb 28 #Javascript
常用的JavaScript模板引擎介绍
Feb 28 #Javascript
You might like
用PHP调用Oracle存储过程
2006/10/09 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
vue组件实例解析
2017/01/10 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
Python实现对字符串的加密解密方法示例
2017/04/29 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
.net面试题
2015/12/22 面试题
优秀演讲稿范文
2013/12/29 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
使用tensorflow 实现反向传播求导
2021/05/26 Python
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS