多物体缓冲运动js代码大全

奉上我的代码!!兼容ie和Firefox
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>多物体运动</title>
	<style>
		ul li{list-style:none;margin:10px;width: 200px;height: 200px;background-color: green;}
	</style>
</head>
<body>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<script>
		var lis=document.getElementsByTagName('li');
		for(var i=0;i<lis.length;i++){
			lis[i].timer=null;
			lis[i].οnmοuseοver=function(){startMove(this,400);}
			lis[i].οnmοuseοut=function(){startMove(this,200);}
		}
		
		function startMove(obj, iTarget){
			clearInterval(obj.timer);
			obj.timer=setInterval(function(){
				var speed=(iTarget-obj.offsetWidth)/8;
				speed=speed>0?Math.ceil(speed):Math.floor(speed);
				if(obj.offsetWidth==iTarget){clearInterval(obj.timer);}
				else{
					obj.style.width=obj.offsetWidth+speed+'px';
				}
			},30)
			
		}
	</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个基于C语言的环形缓冲区写入多个数据的示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define BUFFER_SIZE 1024 typedef struct { char buffer[BUFFER_SIZE]; int head; int tail; } ring_buffer_t; void ring_buffer_init(ring_buffer_t *rb) { rb->head = 0; rb->tail = 0; memset(rb->buffer, 0, BUFFER_SIZE); } int ring_buffer_write(ring_buffer_t *rb, const char *data, int length) { int available = BUFFER_SIZE - (rb->tail - rb->head); if (length > available) { length = available; } if (length > 0) { int end = rb->tail % BUFFER_SIZE; int space = BUFFER_SIZE - end; int copy = length > space ? space : length; memcpy(rb->buffer + end, data, copy); memcpy(rb->buffer, data + copy, length - copy); rb->tail += length; } return length; } int main() { ring_buffer_t rb; ring_buffer_init(&rb); char data1[] = "Hello, "; char data2[] = "world!"; char data3[] = "This is a test."; ring_buffer_write(&rb, data1, strlen(data1)); ring_buffer_write(&rb, data2, strlen(data2)); ring_buffer_write(&rb, data3, strlen(data3)); for (int i = 0; i < BUFFER_SIZE; i++) { printf("%c", rb.buffer[(rb.head + i) % BUFFER_SIZE]); } printf("\n"); return 0; } ``` 这段代码定义了一个环形缓冲区数据结构`ring_buffer_t`,包含一个缓冲区数组`buffer`和头尾指针`head`和`tail`。`ring_buffer_init`函数用于初始化缓冲区,`ring_buffer_write`函数用于写入数据到缓冲区。在`main`函数中,我们定义了三个数据块,并分别写入缓冲区。最后,我们通过循环打印缓冲区中的数据,可以看到写入的三个数据块被正确地保存在了环形缓冲区中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值