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_02_理解undefined和null
Oct 11 Javascript
关于jquery input textare 事件绑定及用法学习
Apr 03 Javascript
浅谈JavaScript 的执行顺序
Aug 07 Javascript
javascript中checkbox使用方法简单实例演示
Nov 17 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
Jun 13 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
Feb 25 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
Apr 10 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
js排序与重组的实例讲解
Aug 28 Javascript
Vue侦测相关api的实现方法
May 22 Javascript
Vue程序调试的方法
Jun 17 Javascript
JS实现简易贪吃蛇游戏
Aug 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 mssql 时间格式问题
2009/01/13 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
python相似模块用例
2016/03/04 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
一个SQL面试题
2014/08/21 面试题
介绍一下Python中webbrowser的用法
2013/05/07 面试题
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
技术总监岗位职责
2013/12/05 职场文书
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
CAD制图设计师自荐信
2014/01/29 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
《自然之道》教学反思
2014/02/11 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
安全先进班组材料
2014/12/26 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
详解NodeJS模块化
2021/06/15 NodeJs