jQuery实现炫酷的鼠标轨迹特效


Posted in Javascript onFebruary 01, 2015

代码:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>jQuery实现炫酷的鼠标轨迹特效</title><base target="_blank" />

<script type="text/javascript"> window.onload = function () {

C = Math.cos; S = Math.sin; U = 0; w = window; j = document; d = j.getElementById("kele"+"yi_com"); c = d.getContext("2d"); W = d.width = w.innerWidth; H = d.height = w.innerHeight; c.fillRect(0, 0, W, H); c.globalCompositeOperation = "lighter"; c.lineWidth = 0.2; c.lineCap = "round"; var bool = 0, t = 0; d.onmousemove = function (e) {

if (window.T) {

if (D == 9) { D = Math.random() * 15; f(1); }

clearTimeout(T);

}

X = e.pageX; Y = e.pageY; a = 0; b = 0; A = X, B = Y; R = (e.pageX / W * 999 >> 0) / 999; r = (e.pageY / H * 999 >> 0) / 999; U = e.pageX / H * 360 >> 0; D = 9; g = 360 * Math.PI / 180; T = setInterval(f = function (e) {

c.save(); c.globalCompositeOperation = "source-over"; if (e != 1) { c.fillStyle = "rgba(0,0,0,0.02)"; c.fillRect(0, 0, W, H); }

c.restore(); i = 25; while (i--) {

c.beginPath(); if (D > 450 || bool) {

if (!bool) { bool = 1; }

if (D < 0.1) { bool = 0; }

t -= g; D -= 0.1;

}

if (!bool) { t += g; D += 0.1; }

q = (R / r - 1) * t; x = (R - r) * C(t) + D * C(q) + (A + (X - A) * (i / 25)) + (r - R); y = (R - r) * S(t) - D * S(q) + (B + (Y - B) * (i / 25)); if (a) { c.moveTo(a, b); c.lineTo(x, y) }

c.strokeStyle = "hsla(" + (U % 360) + ",100%,50%,0.75)"; c.stroke(); a = x; b = y;

}

U -= 0.5; A = X; B = Y;

}, 16);

}

j.onkeydown = function (e) { a = b = 0; R += 0.05 }

d.onmousemove({ pageX: 300, pageY: 290 })

}</script>

<style>body{margin:0;overflow:hidden}div{padding:1px 5px;background:#333;position:absolute;z-index:2;color:#555;font-family:arial}a{color:#ccf}a:hover{color:red}</style>

</head>

<body>

<div id="text"></div>

<canvas id="keleyi_com"></canvas>

</body>

</html>

以上就是本文的内容了,希望小伙伴们喜欢此特效,快过年了,给自己的个人主页增添些色彩吧。

Javascript 相关文章推荐
js中将多个语句写成一个语句的两种方法小结
Dec 08 Javascript
js获取下拉列表框中的value和text的值示例代码
Jan 11 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
Mar 05 Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 Javascript
JavaScript将字符串转换成字符编码列表的方法
Mar 19 Javascript
浅谈javascript的分号的使用
May 12 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
Aug 12 Javascript
学好js,这些js函数概念一定要知道【推荐】
Jan 19 Javascript
jQuery实现三级联动效果
Mar 02 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
微信小程序地图绘制线段并且测量(实例代码)
Jan 02 Javascript
vue引入静态js文件的方法
Jun 20 Javascript
jQuery+CSS3实现树叶飘落特效
Feb 01 #Javascript
jquery实现勾选复选框触发事件给input赋值
Feb 01 #Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 #Javascript
jquery实现炫酷的叠加层自动切换特效
Feb 01 #Javascript
JavaScript插件化开发教程(六)
Feb 01 #Javascript
JavaScript插件化开发教程(五)
Feb 01 #Javascript
对JavaScript中this指针的新理解分享
Jan 31 #Javascript
You might like
PHP中的日期及时间
2006/11/23 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
php 定界符格式引起的错误
2011/05/24 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
python提示No module named images的解决方法
2014/09/29 Python
Python的时间模块datetime详解
2017/04/17 Python
微信跳一跳python代码实现
2018/01/05 Python
代码实例讲解python3的编码问题
2019/07/08 Python
如何一键升级Python所有包
2020/11/05 Python
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
介绍信如何写
2015/01/31 职场文书
如何写辞职信
2015/05/13 职场文书
三八妇女节致辞
2015/07/31 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers