一个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 相关文章推荐
解放web程序员的输入验证
Oct 06 Javascript
jquery 入门教程 [翻译] 推荐
Aug 17 Javascript
js作用域及作用域链概念理解及使用
Apr 15 Javascript
jQuery.Validate验证库的使用介绍
Apr 26 Javascript
js跨域请求数据的3种常用的方法
Dec 01 Javascript
SWFUpload多文件上传及文件个数限制的方法
May 31 Javascript
前端微信支付js代码
Jul 25 Javascript
RequireJs的使用详解
Feb 19 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
Aug 17 Javascript
vue2导航根据路由传值,而改变导航内容的实例
Nov 10 Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 Javascript
Vue CLI3中使用compass normalize的方法
May 30 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
PHP IE中下载附件问题解决方法
2014/01/07 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
加载 Javascript 最佳实践
2011/10/30 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
win10系统中安装scrapy-1.1
2016/07/03 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
医学毕业生自我鉴定
2013/10/30 职场文书
新领导上任欢迎词
2014/01/13 职场文书
国窖1573广告词
2014/03/21 职场文书
转学证明范本
2015/06/19 职场文书
go语言求任意类型切片的长度操作
2021/04/26 Golang
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
关于EntityWrapper的in用法
2022/03/22 Java/Android