发布于 2015-07-31 15:10:59 | 456 次阅读 | 评论: 150 | 来源: 网络整理

你可以使用JavaScript来创建复杂的动画其中包括但不限于:

  • 烟火
  • 淡入淡出效果
  • 滚入或转出
  • 入页面或出页面
  • 对象运动

本教程会给一个基本的了解如何使用JavaScript来创建一个动画。

JavaScript可以按照某种模式,由一个逻辑等式或函数来确定移动至若干DOM元素(<IMG/>,<DIV>或任何其他HTML元素)页面各处。

JavaScript提供以下要经常用于动画程序两种功能。

  • setTimeout( function, duration) - 从现在这个函数调用 duration 毫秒后的 function

  • setInterval(function, duration) - 每次持续duration 毫秒之后,此函数调用function。

  • clearTimeout(setTimeout_variable) - 这个函数调用清除任何计时器由setTimeout()函数设置。

JavaScript还可以设置一个数字,包括它在屏幕上的位置DOM对象的属性。可以设置一个对象的顶部和左侧的属性在屏幕上的任何位置。下面是简单的语法:


// Set distance from left edge of the screen.
object.style.left = distance in pixels or points; 

or
// Set distance from top edge of the screen.
object.style.top = distance in pixels or points; 

手动动画:

所以,让我们使用DOM对象的属性和JavaScript函数如下的实现一个简单的动画:


<html>
<head>
<title>JavaScript Animation</title>
<script type="text/javascript">
<!--
var imgObj = null;
function init(){
   imgObj = document.getElementById('myImage');
   imgObj.style.position= 'relative'; 
   imgObj.style.left = '0px'; 
}
function moveRight(){
   imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
}
window.onload =init;
//-->
</script>
</head>
<body>
<form>
<img id="myImage" src="/images/html.gif" />
<p>Click button below to move the image to right</p>
<input type="button" value="Click Me" onclick="moveRight();" />
</form>
</body>
</html>

下面是上面的例子的说明:

  • 我们使用的是JavaScript函数的getElementById()来获取一个DOM对象,然后将其分配给一个全局变量 imgObj.

  • 我们定义了一个初始化函数的init()来初始化imgObj,我们已经设置它的位置和左属性。

  • 我们调用初始化函数在窗口加载时。

  • 最后,我们调用并将MoveRight()函数由10个像素来增加左边的距离。你也可以将其设置为一个负数值,以将其移动到左侧。

自动动画:

在上面的例子中,如我们所看到的,如何将图像移动到右每点击。可以通过使用JavaScript函数的setTimeout()如下自动完成这一过程:


<html>
<head>
<title>JavaScript Animation</title>
<script type="text/javascript">
<!--
var imgObj = null;
var animate ;
function init(){
   imgObj = document.getElementById('myImage');
   imgObj.style.position= 'relative'; 
   imgObj.style.left = '0px'; 
}
function moveRight(){
   imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
   animate = setTimeout(moveRight,20); // call moveRight in 20msec
}
function stop(){
   clearTimeout(animate);
   imgObj.style.left = '0px'; 
}
window.onload =init;
//-->
</script>
</head>
<body>
<form>
<img id="myImage" src="/images/html.gif" />
<p>Click the buttons below to handle animation</p>
<input type="button" value="Start" onclick="moveRight();" />
<input type="button" value="Stop" onclick="stop();" />
</form>
</body>
</html>

在这里,我们增加更多的情趣。因此,让我们看看新的功能:

  • 并将 MoveRight()函数调用 setTimeout()函数来设置 imgObj 位置。

  • 我们增加了一个新的函数stop()来清除由定时器设定的setTimeout()函数来设置对象在其初始位置。

翻转用鼠标事件:

下面是一个简单的例子,显示图像翻转用鼠标事件:


<html>
<head>
<title>Rollover with a Mouse Events</title>
<script type="text/javascript">
<!--
if(document.images){
    var image1 = new Image();      // Preload an image
    image1.src = "/images/html.gif";
    var image2 = new Image();      // Preload second image
    image2.src = "/images/http.gif";
}
//-->
</script>
</head>
<body>
<p>Move your mouse over the image to see the result</p>
<a href="#" onMouseOver="document.myImage.src=image2.src;"
            onMouseOut="document.myImage.src=image1.src;">
<img name="myImage" src="/images/html.gif" />
</a>
</body>
</html>

让我们来看看有什么不同的位置:

  • 在加载这个页面,if语句检查图像对象存在的时间。如果图像对象是不可用的,该块将不被执行

  • Image()构造函数创建并预装名为image1的一个新的图像对象

  • src属性指定的外部图像文件的名称叫 /images/html.gif

  • 我们已经创建IMAGE2对象,并在这个对象分配/images/http.gif类似的方式

  • 在#(井号)禁用链接,浏览器不会尝试去一个URL点击时。此链接的图像

  • 当用户的鼠标移动到链路,而onmouseout事件处理程序,当用户的鼠标移动远离链路(图像)被触发onMouseOver事件处理程序被触发

  • 当鼠标移动时在图像上,从第一图像到第二个在HTTP图像的变化。当鼠标被从图像移离,则显示原来的图象

  • 当鼠标离开该链接时,初始图像html.gif将重新出现在屏幕上

最新网友评论  共有(150)条评论 发布评论 返回顶部
PHPERZ网友 发布于2024-10-26 02:58:17
@@xInGr
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:17
1����%2527%2522
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:16
1'"
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:16
1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:14
1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:12
wb2ZUHdI')) OR 687=(SELECT 687 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:10
jz7ForP2') OR 383=(SELECT 383 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:08
obuldR02' OR 564=(SELECT 564 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:06
-1)) OR 650=(SELECT 650 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:04
-5) OR 600=(SELECT 600 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:02
-5 OR 622=(SELECT 622 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:58:00
XwqeJdnQ'; waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:58
1 waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:55
-1); waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:52
@@YiHC6
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:52
1����%2527%2522
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:52
-1; waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:52
1'"
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:52
1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:50
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:49
1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:47
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:47
Nv4z7GlV')) OR 605=(SELECT 605 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:45
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:45
hG9goPa5') OR 739=(SELECT 739 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:43
if(now()=sysdate(),sleep(15),0)
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:43
zk2BbdCu' OR 219=(SELECT 219 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:41
-1" OR 2+137-137-1=0+0+0+1 --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:41
-1)) OR 337=(SELECT 337 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:41
-1' OR 2+612-612-1=0+0+0+1 or 'gLI9h105'='
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:41
-1' OR 2+846-846-1=0+0+0+1 --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:41
-1 OR 2+541-541-1=0+0+0+1
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:40
-1 OR 2+684-684-1=0+0+0+1 --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:40
bLDmtbzq
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:39
-5) OR 596=(SELECT 596 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:38
1
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:37
-5 OR 701=(SELECT 701 FROM PG_SLEEP(15))--
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:36
1
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:35
R475aOEG'; waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:33
1 waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:30
-1); waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:28
-1; waitfor delay '0:0:15' --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:26
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:24
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:21
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:17
if(now()=sysdate(),sleep(15),0)
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:15
-1" OR 2+440-440-1=0+0+0+1 --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:15
-1' OR 2+131-131-1=0+0+0+1 or 'qTBqzIzH'='
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:15
-1' OR 2+175-175-1=0+0+0+1 --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:15
-1 OR 2+955-955-1=0+0+0+1
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:15
-1 OR 2+40-40-1=0+0+0+1 --
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:15
NheJmoaA
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:13
1
支持(0)  反对(0)  回复
PHPERZ网友 发布于2024-10-26 02:57:11
1
支持(0)  反对(0)  回复
MmzHrrdb 发布于2024-10-26 02:53:19
1
支持(0)  反对(0)  回复
MmzHrrdb 发布于2024-10-26 02:53:19
1
支持(0)  反对(0)  回复
Kevin 发布于2021-03-06 04:20:42
http://ssb100kv3-form-7514672.ssr.ias-lab.de
支持(52)  反对(52)  回复
Kevin 发布于2021-02-23 17:29:31
http://ssb100kv2-form-260165.ssr.ias-lab.de
支持(2)  反对(2)  回复
Kevin 发布于2021-01-24 01:08:18
http://ssb100k-form-8531839.ssr.ias-lab.de
支持(2)  反对(2)  回复
xsl 发布于2018-09-15 03:40:44
不错
  • 2楼  MmzHrrdb 回复于2024-10-26 02:55:07
    1
  • 3楼  MmzHrrdb 回复于2024-10-26 02:55:07
    1
  • 4楼  MmzHrrdb 回复于2024-10-26 02:55:35
    1
  • 5楼  MmzHrrdb 回复于2024-10-26 02:55:37
    1
  • 6楼  MmzHrrdb 回复于2024-10-26 02:55:40
    1
  • 7楼  MmzHrrdb 回复于2024-10-26 02:55:40
    1
  • 8楼  MmzHrrdb 回复于2024-10-26 02:56:06
    1
  • 9楼  MmzHrrdb 回复于2024-10-26 02:56:08
    1
  • 10楼  MmzHrrdb 回复于2024-10-26 02:56:47
    1
  • 11楼  MmzHrrdb 回复于2024-10-26 02:56:49
    1
  • 12楼  ASPmMWi5 回复于2024-10-26 02:56:51
    1
  • 13楼  -1 OR 2+99-99-1=0+0+0+1 -- 回复于2024-10-26 02:56:51
    1
  • 14楼  -1 OR 2+692-692-1=0+0+0+1 回复于2024-10-26 02:56:51
    1
  • 15楼  -1' OR 2+877-877-1=0+0+0+1 -- 回复于2024-10-26 02:56:51
    1
  • 16楼  -1' OR 2+156-156-1=0+0+0+1 or 'tUNfOznL'=' 回复于2024-10-26 02:56:51
    1
  • 17楼  -1" OR 2+580-580-1=0+0+0+1 -- 回复于2024-10-26 02:56:51
    1
  • 18楼  if(now()=sysdate(),sleep(15),0) 回复于2024-10-26 02:56:53
    1
  • 19楼  0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z 回复于2024-10-26 02:56:55
    1
  • 20楼  0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z 回复于2024-10-26 02:56:57
    1
  • 21楼  (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/ 回复于2024-10-26 02:56:59
    1
  • 22楼  1 waitfor delay '0:0:15' -- 回复于2024-10-26 02:57:01
    1
  • 23楼  TpEXWeSF'; waitfor delay '0:0:15' -- 回复于2024-10-26 02:57:03
    1
  • 24楼  gXkkImgA' OR 803=(SELECT 803 FROM PG_SLEEP(15))-- 回复于2024-10-26 02:57:06
    1
  • 25楼  xnAD8Rp8') OR 626=(SELECT 626 FROM PG_SLEEP(15))-- 回复于2024-10-26 02:57:07
    1
  • 26楼  jizLkvXI')) OR 86=(SELECT 86 FROM PG_SLEEP(15))-- 回复于2024-10-26 02:57:09
    1
  • 27楼  MmzHrrdb'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' 回复于2024-10-26 02:57:11
    1
  • 28楼  1'" 回复于2024-10-26 02:57:11
    1
  • 29楼  1����%2527%2522 回复于2024-10-26 02:57:12
    1
  • 30楼  @@EbmWw 回复于2024-10-26 02:57:12
    1
  • 31楼  MmzHrrdb 回复于2024-10-26 02:57:14
    1
  • 32楼  MmzHrrdb 回复于2024-10-26 02:57:16
    1
  • 33楼  MmzHrrdb 回复于2024-10-26 02:57:19
    XbPvHF94
  • 34楼  MmzHrrdb 回复于2024-10-26 02:57:19
    -1 OR 2+104-104-1=0+0+0+1 --
  • 35楼  MmzHrrdb 回复于2024-10-26 02:57:19
    -1 OR 2+162-162-1=0+0+0+1
  • 36楼  MmzHrrdb 回复于2024-10-26 02:57:19
    -1' OR 2+465-465-1=0+0+0+1 --
  • 37楼  MmzHrrdb 回复于2024-10-26 02:57:19
    -1' OR 2+812-812-1=0+0+0+1 or 'fjDwB7IZ'='
  • 38楼  MmzHrrdb 回复于2024-10-26 02:57:19
    -1" OR 2+88-88-1=0+0+0+1 --
  • 39楼  MmzHrrdb 回复于2024-10-26 02:57:22
    if(now()=sysdate(),sleep(15),0)
  • 40楼  MmzHrrdb 回复于2024-10-26 02:57:24
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
  • 41楼  MmzHrrdb 回复于2024-10-26 02:57:26
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
  • 42楼  MmzHrrdb 回复于2024-10-26 02:57:29
    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
  • 43楼  MmzHrrdb 回复于2024-10-26 02:57:31
    -1; waitfor delay '0:0:15' --
  • 44楼  MmzHrrdb 回复于2024-10-26 02:57:33
    -1); waitfor delay '0:0:15' --
  • 45楼  MmzHrrdb 回复于2024-10-26 02:57:36
    1 waitfor delay '0:0:15' --
  • 46楼  MmzHrrdb 回复于2024-10-26 02:57:38
    DHBIxBni'; waitfor delay '0:0:15' --
  • 47楼  MmzHrrdb 回复于2024-10-26 02:57:40
    -5 OR 152=(SELECT 152 FROM PG_SLEEP(15))--
  • 48楼  MmzHrrdb 回复于2024-10-26 02:57:42
    -5) OR 761=(SELECT 761 FROM PG_SLEEP(15))--
  • 49楼  MmzHrrdb 回复于2024-10-26 02:57:44
    -1)) OR 272=(SELECT 272 FROM PG_SLEEP(15))--
  • 50楼  MmzHrrdb 回复于2024-10-26 02:57:46
    xp0Xq8s2' OR 815=(SELECT 815 FROM PG_SLEEP(15))--
  • 51楼  MmzHrrdb 回复于2024-10-26 02:57:48
    30SNRKfy') OR 274=(SELECT 274 FROM PG_SLEEP(15))--
  • 52楼  MmzHrrdb 回复于2024-10-26 02:57:51
    N4BMs9d0')) OR 369=(SELECT 369 FROM PG_SLEEP(15))--
  • 53楼  MmzHrrdb 回复于2024-10-26 02:57:54
    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
  • 54楼  MmzHrrdb 回复于2024-10-26 02:57:56
    1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
  • 55楼  MmzHrrdb 回复于2024-10-26 02:57:56
    1'"
  • 56楼  MmzHrrdb 回复于2024-10-26 02:57:56
    1����%2527%2522
  • 57楼  MmzHrrdb 回复于2024-10-26 02:57:56
    @@qKnk4
  • 支持(2)  反对(2)  回复

    Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务