用js 来让图片组成动画

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>

<style>
.ld_anipic{ position:absolute; width:8px; height:8px; background-color:#ccc;}
</style>

<script>
//ld动画组建
//被加载的divID
function ldAni(contain_id,id_flag,start_id){
this.contain_id=contain_id;
this.id_flag=id_flag;
this.start_id=start_id;
this.a = new Array();
this.tempa=new Array();
this.Add_cmd=function(cmd){
this.a.unshift(cmd);
};
this.bakdata=function(){
this.tempa = this.a.concat();
};
this.steprun=function(){
if (this.a.length < 1) {
//从副本恢复数组到缓存,用于循环显示
//this.a = this.tempa.concat();
return;
}

var x = this.a.pop();
var cmds = x.toString().split(";"); //字符分
for (var i = 0; i < cmds.length; i++) {
if(cmds[i].toString().length>0){
var d = cmds[i].toString().split(",");
this.dit(d[0], d[1], d[2], d[3]);
}
}
};
this.dit=function(objid, cmd, cs1, cs2){

var obj = null;
try{
obj = document.getElementById(this.id_flag + objid);
}catch(e){}
//move 移动的意思
if (cmd == "m") {
obj.style.left = cs1 + "px";
obj.style.top = cs2 + "px";
}
//show 显示的意思
else if (cmd == "s") {
obj.style.display = "block";
}
//hidden 隐藏的意思
else if (cmd == "h") {
obj.style.display = "none";
}
else if(cmd=="a"){
this.start_id++;
var atag = document.createElement("a");
atag.setAttribute("class", "ld_anipic");
atag.setAttribute("id",this.id_flag + this.start_id);
document.getElementById(this.contain_id).appendChild(atag);
try{
obj = document.getElementById(this.id_flag + this.start_id);
}catch(e){}
obj.style.display = "block";
obj.style.left = cs1 + "px";
obj.style.top = cs2 + "px";
}
}

}


//动画速度可以在这里控制
var ani=new ldAni("ld_anicon","ldanim_pic",1);
//7
ani.Add_cmd("1,a,0,0");
ani.Add_cmd("1,a,10,0");
ani.Add_cmd("1,a,20,0");
ani.Add_cmd("1,a,30,0");
ani.Add_cmd("1,a,40,0");
ani.Add_cmd("1,a,50,0");
ani.Add_cmd("1,a,50,10");
ani.Add_cmd("1,a,44,20");
ani.Add_cmd("1,a,39,30");
ani.Add_cmd("1,a,35,40");
ani.Add_cmd("1,a,31,50");
ani.Add_cmd("1,a,29,60");
ani.Add_cmd("1,a,27,70");
ani.Add_cmd("1,a,25,80");
ani.Add_cmd("1,a,23,90");
ani.Add_cmd("1,a,22,100");
ani.Add_cmd("1,a,21,110");

//5
ani.Add_cmd("1,a,70,0");
ani.Add_cmd("1,a,70,10");
ani.Add_cmd("1,a,70,20");
ani.Add_cmd("1,a,70,30");

ani.Add_cmd("1,a,70,40");
ani.Add_cmd("1,a,84,45");
ani.Add_cmd("1,a,96,50");
ani.Add_cmd("1,a,106,55");
ani.Add_cmd("1,a,114,60");
ani.Add_cmd("1,a,120,65");
ani.Add_cmd("1,a,120,70");
ani.Add_cmd("1,a,120,75");
ani.Add_cmd("1,a,120,80");
ani.Add_cmd("1,a,120,85");
ani.Add_cmd("1,a,120,90");
ani.Add_cmd("1,a,114,95");
ani.Add_cmd("1,a,106,100");
ani.Add_cmd("1,a,96,105");
ani.Add_cmd("1,a,84,110");
ani.Add_cmd("1,a,70,110");

ani.Add_cmd("1,a,80,20");
ani.Add_cmd("1,a,90,20");
ani.Add_cmd("1,a,100,20");
ani.Add_cmd("1,a,110,20");
ani.Add_cmd("1,a,120,20");
ani.bakdata();
setInterval("ani.steprun()",50);
</script>
</head>

<body>
<div>用js来进行一些图片的移动来组成动画效果</div>
<table>
<tr>
<td id="ld_anicon" style=" position:relative; display:inline-block; width:160px;">
</td>
<td style="display:inline-block; font-size:250px;">
SOFT.com
</td>
</tr>
</table>
</body>
</html>

转载于:https://www.cnblogs.com/yilou/archive/2012/12/19/2824570.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为首页上方广告区域添加四面体形状的动画效果,可以参考以下步骤: 1. 创建一个包含四张广告图片的容器,并设置容器的宽高和透视距离,使其成为一个立体的盒子。可以使用CSS3的transform和perspective属性来实现。 2. 将每张广告图片绝对定位在容器的四个面上,并设置旋转角度和初始透明度,使其形成一个四面体。 3. 使用JavaScript编写轮播逻辑,每隔一定时间自动旋转四面体,并同时调整广告图片的透明度,实现渐变效果。可以使用setInterval函数来实现。 4. 为了实现平滑的旋转和渐变效果,可以使用requestAnimationFrame函数来更新旋转角度和透明度,并使用transform和opacity属性来应用变换。 以下是一个简单的示例代码: HTML部分: ```html <div class="ad-container"> <img src="ad1.jpg" class="ad-face1"> <img src="ad2.jpg" class="ad-face2"> <img src="ad3.jpg" class="ad-face3"> <img src="ad4.jpg" class="ad-face4"> </div> ``` CSS部分: ```css .ad-container { width: 400px; height: 400px; perspective: 800px; position: relative; } .ad-face1 { position: absolute; width: 400px; height: 400px; transform: rotateY(0deg) translateZ(200px); opacity: 0.5; transition: opacity 0.5s ease; } .ad-face2 { position: absolute; width: 400px; height: 400px; transform: rotateY(90deg) translateZ(200px); opacity: 0.5; transition: opacity 0.5s ease; } .ad-face3 { position: absolute; width: 400px; height: 400px; transform: rotateY(180deg) translateZ(200px); opacity: 0.5; transition: opacity 0.5s ease; } .ad-face4 { position: absolute; width: 400px; height: 400px; transform: rotateY(-90deg) translateZ(200px); opacity: 0.5; transition: opacity 0.5s ease; } ``` JavaScript部分: ```javascript var adContainer = document.querySelector('.ad-container'); var angle = 0; var opacity = 0.5; var opacityDelta = 0.01; setInterval(function() { angle += 1; opacity += opacityDelta; if (opacity > 1) { opacity = 1; opacityDelta = -0.01; } else if (opacity < 0.5) { opacity = 0.5; opacityDelta = 0.01; } adContainer.style.transform = 'rotateY(' + angle + 'deg)'; adContainer.querySelectorAll('img').forEach(function(img) { img.style.opacity = opacity; }); }, 20); ``` 这段代码将广告容器对象旋转了1度,并每20毫秒更新一次旋转角度和透明度,实现了自动旋转和渐变效果。你可以将示例代码中的图片和样式替换成自己的内容,调整旋转速度和透明度变化速度等参数,以适应自己的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值