一个JavaScript的求爱小特效


Posted in Javascript onMay 09, 2014

这里面做了一个JavaScript的求爱小特效,效果如下:

不仅能出现下面的图的效果,还可以让这个图形跟随着鼠标转动哦,这里面只是一个简单的没有修饰的小例子,基于这个例子可以让求爱,更加好玩了。闷骚男们,是不是可以给你的小萝莉发个这样的网页啊。给力的。
一个JavaScript的求爱小特效
贴上code吧:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Insert title here</title> 
<style type="text/css"> 
body{ 
border:1px red solid; 
width:1000px; 
height:1000px; 
margin:0px auto; 
padding:0px; 
color:green; 
} 
/* 
将对象从文档流中拖出,使用 left , right , top , bottom 等属性相对于 
其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则 
依据 body 对象。而其层叠通过 z-index 属性定义 
*/ 
div{ 
position:absolute; 
} 
</style> 
<script type="text/javascript"> 
//为什么要用onload,因为我在javascript代码中初始化时钟的div时,调试页面发现没有实现 
//后来发现原因,html的代码是从前往后解析的。当先解析到JavaScript代码的时候,向body中 
//添加子节点的时候,找不到还未解析的body。所以应该先解析body的啦。方法有两种,一种就是下 
//的写法,另一种也可以是在body标签中添加onload方法。 
window.onload=function(){ 
init(); 
}; 
//定义一个div数组,来存储12个div 
//因为12个div位置上的关系,所以先确定一下圆点和半径,以便计算div的位置 
var divs=[]; 
var loveBaby=["我","爱","你","!","宝","贝","你","爱","我","吗","勉","勉"] 
var CX=300; 
var CY=300;//----------------------网页中的位置坐标没有单位吗? 
var R=150; 
var divCenterNode;//中心点的位置要进行控制,设置全局变量 
//定义一个初始化的函数 
function init(){ 
//创建一个中心点位置的div(可以写上求爱对象哦) 
divCenterNode=document.createElement("div"); 
divCenterNode.innerHTML="婷婷,嫁给我吧!"; 
document.body.appendChild(divCenterNode); 
divCenterNode.style.left=(CX-50)+"px"; 
divCenterNode.style.top=(CY-30)+"px"; 
//创建12个div组成一个禁止的时钟,放在body中 
for(var x=1;x<=12;x++){ 
//创建div 
var divNode=document.createElement("div"); 
divNode.innerHTML=loveBaby[x-1]; 
//body对象不需要和其它对象一样去获取,js库中已经封装好了。 
document.body.appendChild(divNode); 
divs.push(divNode); 
} 
//每次启动startClock()对div元素进行重新定位 
/* 
实际上要想达到旋转的效果,需要不断的进行偏移,或者说 
进行重新定位,但是作循环,不能控制间隔多久启动函数,那么 
这时候window对象提供了方法。 
*/ 
startClock(); } 
//div的偏移量 
var offset=0;//度数偏移量 
//将位置的定位和转动单独定义一个函数 
function startClock(){ 
for(var x=1;x<=12;x++){ 
var div = divs[x-1]; 
//每一个数字的度数 
var dushu=30*x+offset; 
// 角度值 * Math.PI /180 = 弧度值 
var divLeft = CX+R*Math.sin(dushu*Math.PI/180); 
div.style.left=divLeft+"px"; 
var divTop = CY-R*Math.cos(dushu*Math.PI/180); 
div.style.top=divTop+"px"; 
} 
offset+=50; 
//间隔一定的时间,回调这个函数 
//经过指定毫秒值后计算一个表达式。第一个参数是表达式,第二个参数是时间 
setTimeout(startClock,80);//window对象的方法 
} 
//定义这个时钟随着鼠标移动到不同的位置 
function clockMove(event){ 
CX=event.clientX;//鼠标所在位置的x坐标 
CY=event.clientY;//鼠标所在位置的y坐标 
divCenterNode.style.left=(CX-50)+"px"; 
divCenterNode.style.top=(CY-30)+"px"; 
} 
</script> 
</head> 
<body onmousemove="clockMove(event)"> 
<!-- 
一、把12个数字按一圈显示出来 
1\创建12个DIV,分别赋值 1--12 
2\给12个DIV定位,围成一圈。 
--> 
</body > 
</html>

本来是想做一个会转动,会跑的时钟显示。所以代码中的命名和时钟有关,就不纠结了,亲。初学javascript,感觉javascript很强大。
Javascript 相关文章推荐
jQuery 数据缓存模块进化史详细介绍
Nov 19 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
Nov 23 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
javascript数据结构之双链表插入排序实例详解
Nov 25 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 Javascript
使用React实现轮播效果组件示例代码
Sep 05 Javascript
JavaScript仿微信打飞机游戏
Jul 05 Javascript
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
Vue实现开心消消乐游戏算法
Oct 22 Javascript
vue获取form表单的值示例
Oct 29 Javascript
javaScript中indexOf用法技巧
Nov 26 Javascript
js闭包的9个使用场景
Dec 29 Javascript
js中的setInterval和setTimeout使用实例
May 09 #Javascript
js获取 type=radio 值的方法
May 09 #Javascript
js实现的点击数量加一可操作数据库
May 09 #Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 #Javascript
js四舍五入数学函数round使用实例
May 09 #Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 #Javascript
关于Javascript 对象(object)的prototype
May 09 #Javascript
You might like
追求程序速度,而不是编程的速度
2008/04/23 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
python实现进程间通信简单实例
2014/07/23 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
windows下python安装pip图文教程
2018/05/25 Python
python实现俄罗斯方块
2018/06/26 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
Linux常见面试题
2013/03/18 面试题
领导的自我鉴定
2013/12/28 职场文书
新手上路标语
2014/06/20 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2014年化工厂工作总结
2014/11/25 职场文书