一个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 相关文章推荐
firefox和IE系列的相关区别整理 以备后用
Dec 28 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
Jul 29 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
Aug 19 Javascript
深入理解JS中的substr和substring
Apr 26 Javascript
使用 stylelint检查CSS_StyleLint
Apr 28 Javascript
javascript js 操作数组 增删改查的简单实现
Jun 20 Javascript
Bootstrap响应式侧边栏改进版
Sep 17 Javascript
extjs简介_动力节点Java学院整理
Jul 17 Javascript
vue集成kindeditor富文本的实现示例代码
Jun 07 Javascript
详解Nuxt.js 实战集锦
Nov 19 Javascript
一小时迅速入门Mybatis之bind与多数据源支持 Java API
Sep 15 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
Array对象方法参考
2006/10/03 Javascript
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
JavaScript之解构赋值的理解
2019/01/30 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
python多进程并行代码实例
2019/09/30 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
电子技术专业中专生的自我评价
2013/12/17 职场文书
化妆品促销方案
2014/02/24 职场文书
创业大赛策划书
2014/03/01 职场文书
留学经费担保书
2014/05/12 职场文书
初中信息技术教学计划
2015/01/22 职场文书
班主任自我评价范文
2015/03/11 职场文书
用python实现监控视频人数统计
2021/05/21 Python
python3实现常见的排序算法(示例代码)
2021/07/04 Python