一个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官方 jQuery1.1.3发布,速度提升800%,体积保持20K
Aug 19 Javascript
几个比较实用的JavaScript 测试及效验工具
Apr 18 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
轻松搞定jQuery.noConflict()
Feb 15 Javascript
快速掌握Node.js环境的安装与运行方法
Feb 16 Javascript
Js遍历键值对形式对象或Map形式的方法
Aug 08 Javascript
js实现每日签到功能
Nov 29 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
Dec 30 Javascript
JS实现马赛克图片效果完整示例
Apr 13 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
json数据格式常见操作示例
Jun 13 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
浅谈Node.js中的定时器
2015/06/18 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
python 多线程应用介绍
2012/12/19 Python
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
列举Python中吸引人的一些特性
2015/04/09 Python
整理Python中的赋值运算符
2015/05/13 Python
Python yield 使用浅析
2015/05/28 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
Python矩阵常见运算操作实例总结
2017/09/29 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Python 实现向word(docx)中输出
2020/02/13 Python
如何在python中判断变量的类型
2020/07/29 Python
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
运动会邀请函范文
2014/01/31 职场文书
现场活动策划方案
2014/08/22 职场文书
安全生产年活动总结
2014/08/29 职场文书
公司租房协议书
2014/10/14 职场文书
2014年医生工作总结
2014/11/21 职场文书
招标保密承诺书
2015/01/20 职场文书
2014年底个人工作总结
2015/03/10 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript