1、常用的函数
在动画程序中经常使用的函数有setTimeout( function, duration)
、setInterval(function, duration)
、clearTimeout(setTimeout_variable)
。
setTimeout( function, duration):这个函数从现在开始duration
毫秒后调用function
函数。就是指定时间后调用执行函数。
setInterval(function, duration):这个函数在每duration
毫秒后调用function
函数。就是定时调用执行函数。
clearTimeout(setTimeout_variable):这个函数取消由setTimeout()
方法执行的函数调用。setTimeout_variable
是setTimeout()
的返回值。
2、设置DOM元素位置
JavaScript还可以设置DOM对象的许多属性,包括它在屏幕上的位置。可以设置一个对象的top
和left
属性来改变元素在屏幕的位置。
例如,
// 设置到屏幕左边缘的距离。 object.style.left ="11px";//以像素或点为单位的距离 //或者 // 设置到屏幕上边缘的距离。 object.style.top = "22px";//以像素或点为单位的距离
3、点击按扭实现移动效果
通过点击按钮执行事件函数,将left左边距离增加15px,从而实现图片元素向右移动。
例如,
<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) + 15 + 'px';
}
window.onload = init;
</script>
</head>
<body>
<form>
<img id = "myImage" src = "/images/cjavapy.gif" />
<p>点击下面的按钮,向右移动图片</p>
<input type = "button" value = "移动" onclick = "moveRight();" />
</form>
</body>
</html>
4、定时实现移动效果
通过setTimeout()
实现定时执行,将left左边距增加10px
,从而实现图片元素自动向右移动。
例如,
<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() {
//还可以考虑增加left的值判断,超出可视区域,进行left值的重置
imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
animate = setTimeout(moveRight,50); // 每50毫秒调用执行moveRight一次
}
function stop() {
clearTimeout(animate);
imgObj.style.left = '0px';
}
window.onload = init;
</script>
</head>
<body>
<form>
<img id = "myImage" src = "/images/cjavapy.gif" />
<p>点击下面的按钮来开始动画</p>
<input type = "button" value = "开始" onclick = "moveRight();" />
<input type = "button" value = "重置" onclick = "stop();" />
</form>
</body>
</html>
4、通过鼠标移动事件更改图片地址
通过onMouseOver
和onMouseOut
事件,实现鼠标滑过改变图片地址。
例如,
<html>
<head>
<title>鼠标滚动事件</title>
<script type = "text/javascript">
if(document.images) {
var image1 = new Image(); // Preload an image
image1.src = "/images/cjavapy.gif";
var image2 = new Image(); // Preload second image
image2.src = "/images/http.gif";
}
</script>
</head>
<body>
<p>将鼠标移到图像上查看结果</p>
<a href = "#" onMouseOver = "document.myImage.src = image2.src;"
onMouseOut = "document.myImage.src = image1.src;">
<img name = "myImage" src = "/images/cjavapy.gif" />
</a>
</body>
</html>