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 相关文章推荐
通过 Dom 方法提高 innerHTML 性能
Mar 26 Javascript
Jquery 表格合并的问题分享
Sep 17 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 Javascript
如何在MVC应用程序中使用Jquery
Nov 17 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
Ajax中解析Json的两种方法对比分析
Jun 25 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
js中less常用的方法小结
Aug 09 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
Feb 22 Javascript
JS新手入门数组处理的实用方法汇总
Apr 07 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把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
php表单提交实例讲解
2015/11/12 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
js常见表单应用技巧
2008/01/09 Javascript
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python求列表交集的方法汇总
2014/11/10 Python
python获取文件扩展名的方法
2015/07/06 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
大学生求职信例文
2014/06/29 职场文书
咖啡店创业计划书
2014/08/15 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python