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 相关文章推荐
jQuery中的常用事件总结
Dec 27 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
May 17 Javascript
jQuery的each终止或跳过示例代码
Dec 12 Javascript
jquery datatable后台封装数据示例代码
Aug 07 Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
jQuery 特性操作详解及实例代码
Sep 29 Javascript
js中getBoundingClientRect的作用及兼容方案详解
Feb 01 Javascript
JS+H5 Canvas实现时钟效果
Jul 20 Javascript
小程序云开发获取不到数据库记录的解决方法
May 18 Javascript
js实现聊天对话框
Feb 08 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
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php使用google地图应用实例
2014/12/31 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
python turtle 绘制太极图的实例
2019/12/18 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
行政经理岗位职责
2013/11/09 职场文书
美发活动策划书
2014/01/14 职场文书
小学教师培训感言
2014/02/11 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
2014年手术室工作总结
2014/11/26 职场文书
个人思想政治总结
2015/03/05 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
2016高考寄语集锦
2015/12/04 职场文书
创业计划书之美容店
2019/09/16 职场文书