JavaScript也能求爱哦

JavaScript也能求爱哦

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

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

<span>JavaScript也能求爱哦</span>

贴上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非常强大。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119223.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java定时任务quartz配置_taskregistrar

    java定时任务quartz配置_taskregistrar这篇文章主要介绍了spring中定时任务taskScheduler的相关资料,文中通过示例代码介绍的很详细,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。前言众所周知在spring3.0版本后,自带了一个定时任务工具,而且使用简单方便,不用配置文件,可以动态改变执行状态。也可以使用cron表达式设置定时任务。被执行的类要实现Runnable接口TaskScheduler接口Tas…

    2022年10月11日
    0
  • LM算法——列文伯格-马夸尔特算法(最速下降法,牛顿法,高斯牛顿法)(完美解释负梯度方向)

    LM算法——列文伯格-马夸尔特算法(最速下降法,牛顿法,高斯牛顿法)(完美解释负梯度方向)首先谈一下应用场景——在拟合的时候进行应用什么是拟合?你有一堆数据点,我有一个函数,但是这个函数的很多参数是未知的,我只知道你的这些数据点都在我的函数上,因此我可以用你的数据点来求我的函数的未知参数。例如:matlab中的fit函数最小二乘法天生就是用来求拟合的,看函数和数据点的逼近关系。它通过最小化误差的平方和寻找数据的最佳函数匹配。拟合我们可以认为是一种试探性的方法,这种方法在计算机出…

    2022年10月1日
    0
  • H.264/MPEG-4 AVC学习

    H.264/MPEG-4 AVC学习转自:https://www.freehacker.cn/media/codec-h264/简述H.264,又称为MPEG-4第10部分,高级视频编码(英语:MPEG-4Part10,AdvancedVideoCoding,缩写为MPEG-4AVC)是一种面向块的基于运动补偿的视频编码标准。对于视频序列样本来说,使用H.264编码器能够比使用有运动补偿的MPEG-…

    2022年9月19日
    0
  • 【JSON解析】浅谈JSONObject的使用[通俗易懂]

    【JSON解析】浅谈JSONObject的使用[通俗易懂]简介在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。JSON建构于两种结构:“名称/值”对的集合(ACollectionofname/va…

    2022年7月26日
    4
  • java开发常用软件下载地址及教程。

    java开发常用软件下载地址及教程。本文以Windows64位为例,如有mac或Linux系统的请自行选择对应系统进行下载一.JDK1.官网下载地址(最新版本):http://www.oracle.com/technetwork/java/javase/downloads/index.html2.以前的所有版本(包括JDK1.8或JDK1.7等):http://www.oracle.com/technetwork/java/j…

    2022年7月8日
    22
  • 2018——2019 20165239Exp9 Web安全基础

    2018——2019 20165239Exp9 Web安全基础

    2021年7月7日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号