一个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很强大。

(0)

相关推荐

  • 纯JavaScript实现HTML5 Canvas六种特效滤镜示例

    小试牛刀,实现了六款简单常见HTML5 Canvas特效滤镜,并且封装成一个纯JavaScript可调用的API文件gloomyfishfilter.js.支持的特效滤镜分别为: 1.反色 2.灰色调 3.模糊 4.浮雕 5.雕刻 6.镜像 滤镜原理解释: 1.反色:获取一个像素点RGB值r, g, b则新的RGB值为(255-r, 255-g, 255-b) 2.灰色调:获取一个像素点RGB值r, g, b则新的RGB值为 复制代码 代码如下: newr = (r * 0.272) + (g

  • javascript 可控式透明特效实现代码

    空间就全凭CSS的绝对定位实现位移了.在开始之前,我们练习一下setTimeout的递归用法(用来模拟setInterval). 复制代码 代码如下: function text(el){ var node = (typeof el == "string")? document.getElementById(el) : el; var i = 0; var repeat = function(){ setTimeout(function(){ node.innerHTML = &quo

  • JavaScript妙味课堂 物体平滑移动特效

    JavaScript物体平移运动特效 #div1 {background: red url(http://www.jb51.net/images/logo.gif); position:absolute; left:50px; top:50px; width:200px; height:200px;} var g_oTimer=null; function startMove() { if(!g_oTimer) { g_oTimer=setInterval(moveTimerHandler, 3

  • javascript 打字效果的文字特效

    本节代码主要使用了 onMousedown 事件和 event.button 属性,主要功能和用法如下. • setTimeout 方法,在执行时是在载入后延迟指定时间后,去执行一次表达式,仅执行一次. • charAt 方法返回一个字符值,该字符位于指定索引位置.字符串中的第一个字符的索引为0,第二个的索引为1,等等.超出有效范围的索引值返回空字符串. 打字效果的文字特效 var layers = document.layers; var style = document.all; var b

  • 23个Javascript弹出窗口特效整理

    1. Lightview Lightview是一个基于Prototype与Script.aculo.us开发,用于创建可以覆盖整个页面的模式对话框.展示的内容不仅可以是图片.文字.网页.通过Ajax 调用的内容,还可以是Quicktime/Flash影片都能够以非常酷的效果展示. 2. ThickBox (演示地址) ThickBox是一个模式对话框UI控件.基于jQuery开发,可以用来展示单张或多张图片,内嵌的内容,iframed的内容,或通过Ajax获取的内容. 3. Fonshen JS

  • javascript实现带节日和农历的日历特效

    带节日和农历的脚本: 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <TITLE>带农历的日历</TITLE>          <SCRIPT language="JavaScript"> <!--  var lunarInfo

  • JavaScript 地震特效

    function surfto(form) { var myindex=form.select1.selectedIndex if (form.select1.options[myindex].value != null) { parent.main.location.href=form.select1.options[myindex].value; } } //这段JS代码意为当前页面的浏览器地震// function shake(n) { if (window.top.moveBy) { f

  • 同一个网页中实现多个JavaScript特效的方法

    本文实例讲述了同一个网页中实现多个JavaScript特效的方法.分享给大家供大家参考.具体分析如下: 一般来说,在网页中,如果出现两次<script type="text/javascript"></script>标签,所有的JavaScipt脚本都不会再生效,只能出现一次<script type="text/javascript"></script>标签,但是,同一个网页中常常需要多个JavaScript特效. 一

  • javascript实例分享---具有立体效果的图片特效

    此实例是我一遍学习一边写出来的,希望能够帮到大家,一起学习.效果如图所示: html代码如下所示: 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  <head>    <title>图片浏览工具制作</title>    <script type="text/javascr

  • javascript:google 向上向下滚动特效,兼容IE6,7,8,FF

    2010最新全面兼容ie6,ie7,ie8,ff的CSS HACK写法 #google1 { border:none; width:270px; height:20px; margin:0px 0; font-size:12px; padding-left:0px; overflow:hidden; font-family:Arial; } #google1 ul { margin:0px; padding:0px; list-style-type:none; } #google1 li { l

随机推荐