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 相关文章推荐
JavaScript获取GridView选择的行内容
Apr 14 Javascript
JavaScript类型转换方法及需要注意的问题小结(挺全面)
Nov 11 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
javascript 广告移动特效的实现代码
Jun 25 Javascript
打造自己的jQuery插件入门教程
Sep 23 Javascript
原生JS中slice()方法和splice()区别
Mar 06 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
Jul 04 Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 Javascript
小程序登录态管理的方法示例
Nov 13 Javascript
详解JSON和JSONP劫持以及解决方法
Mar 08 Javascript
Vue插件之滑动验证码
Sep 21 Javascript
IDEA安装vue插件图文详解
Sep 26 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的单引号和双引号 字符串效率
2009/05/27 PHP
php常用的url处理函数总结
2014/11/19 PHP
php发送邮件的问题详解
2015/06/22 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
详解python读取和输出到txt
2019/03/29 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
python中对_init_的理解及实例解析
2019/10/11 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
python绘制高斯曲线
2021/02/19 Python
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
田径运动会开幕式及主持词
2014/03/28 职场文书
老龄工作先进事迹
2014/08/15 职场文书
给病人的慰问信
2015/03/23 职场文书
英文产品推荐信
2015/03/27 职场文书