你可以利用 JavaScript 創(chuàng)造一些復(fù)雜的運動,包括下面但不限于下面的:
這個教程將講解如何利用 JavaScript 創(chuàng)建一些基本的運動。
JavaScript 可以用來移動一些文檔對象模型元素(<img>
, <div>
或者其他的 HTML 元素)在頁面附近,這個是通過一些邏輯等式或者函數(shù)來決定的。
JavaScript 提供如下的幾種比較常用的函數(shù)來進行動畫編程。
JavaScript 能夠設(shè)置一系列文檔模型對象的屬性值,包括該對象在屏幕中的位置。你可以通過設(shè)置 top 和 left 等對象的屬性值,從而讓該對象放在屏幕中任何位置。如下是該語法的一個簡單例子:
// 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;
讓我們利用文檔對象模型的對象的屬性值實現(xiàn)一個簡單的動畫,JavaScript 的函數(shù)如下:
<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="/attachments/image/wk/wkjavascript/html.gif" />
<p>Click button below to move the image to right</p>
<input type="button" value="Click Me" onclick="moveRight();" />
</form>
</body>
</html>
如下是對上面例子的解釋:
在上面的例子中我們已經(jīng)看到如何讓一張圖片在每次點擊之后向右移動。我們可以通過利用 JavaScript 中的函數(shù) setTimeout() 讓它自動執(zhí)行這個操作:
<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="/attachments/image/wk/wkjavascript/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>
這里我們增加了一些新的知識:
如下是一個簡單的例子演示由鼠標(biāo)事件引起的圖片翻轉(zhuǎn):
<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="/attachments/image/wk/wkjavascript/html.gif" />
</a>
</body>
</html>
讓我們來看看這里的不同點:
更多建議: