多物体的淡入淡出,多物体运动框架

上面一个小例子展示了一张图片的淡入淡出,但实际情况可能有多个物体,在不同的物体之间进行切换,其实原理一样,只是添加多个不同的参数,控制定时器的开启与关闭,下面来展示在多个div之间来回切换,实现淡入淡出。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">

/*******************此处的透明度有两个样式,主要解决 览器之间的兼容性问题****************/
div{ width: 100px;height: 100px;background: red;margin: 10px;filter: alpha(opacity:30);opacity: 0.3; }    
</style>
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementsByTagName(‘div‘);
var i=0;
for(i=0;i<oDiv.length;i++){
oDiv[i].timer = null;              //为每个div都加上自己的定时器,这样可以避免相互影响,虽然有点浪费,但应该是值得的
oDiv[i].alpha=30;                  //给每个div都加上自己的透明度,防止相互影响
oDiv[i].onmouseover = function(){
startMove(this,100);              //将当前div的透明度设置为100
}
oDiv[i].onmouseout = function(){
startMove(this,30);
}
}
};
function startMove(obj,iTarget){        //这里设置两个参数,设置对象和要改变的目标值
clearInterval(obj.timer);
var iSpeed = 0;
obj.timer = setInterval(function(){
if(obj.alpha<iTarget){              //比较当前div的透明和目标的透明度
iSpeed = 10;
}else{
iSpeed = -10;
}
if(obj.alpha==iTarget){
clearInterval(obj.timer);
}else{
obj.alpha+=iSpeed;
obj.style.filter = ‘alpha(opacity:‘+obj.alpha+‘)‘;
obj.style.opacity = obj.alpha/100;            //设置当前div透明度的样式
}
},30);
}
</script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>

这是个小例子,可以从里面发掘一些思路

时间: 2024-10-08 21:23:24

多物体的淡入淡出,多物体运动框架的相关文章

转 JavaScript 运动框架 Step by step

1,运动原理 Js运动,本质来说,就是让 web 上 DOM 元素动起来.而想要 DOM 动起来,改变其自身的位置属性,比如高宽,左边距,上边距,透明度等.动画的原理就是把不同状态的物体,串成连续的样子,就像一本书,画了几个小人,然后 一翻书,就看见小人在动.js动画也一样.不同状态的DOM,用定时器控制,就能得到动画效果. [javascript] view plain copy window.onload = function(){ var oBtn = document.getElemen

js运动框架逐渐递进版

运动,其实就是在一段时间内改变left.right.width.height.opactiy的值,到达目的地之后停止. 现在按照以下步骤来进行我们的运动框架的封装: 匀速运动. 缓冲运动. 多物体运动. 任意值变化. 链式运动. 同时运动 (第一部分):匀速运动 运动基础 思考:如何让div动起来?如下: 设置元素为绝对定位,只有绝对定位后,left,top等值才生效. 定时器的使用(动态改变值),这里使用setInterval()每隔指定的时间执行代码. 计时器setInterval(函数,交

JavaScript 运动框架(介绍及原理)

1,运动原理 Js运动,本质来说,就是让 web 上 DOM 元素动起来.而想要 DOM 动起来,改变其自身的位置属性,比如高宽,左边距,上边距,透明度等.动画的原理就是把不同状态的物体,串成连续的样子,就像一本书,画了几个小人,然后一翻书,就看见小人在动.js动画也一样.不同状态的DOM,用定时器控制,就能得到动画效果. 1 window.onload = function(){ 2 var oBtn = document.getElementById('btn'); 3 oBtn.oncli

【repost】JavaScript运动框架之速度时间版本

一.JavaScript运动框架之速度版 1.1 运动框架的实现思路 运动,其实就是在一段时间内改变 left . right . width . height . opactiy 的值,到达目的地之后停止 位移 top,left 折叠 width,height 淡入淡出 opacity 时间有关系 setInterval setTimeout 用javascript直接获取行间样式很容易,但如果要获取非行间样式那我们只能借助函数了.我这里编写了一个名为getStyle的函数,专门处理取非行间的

js 多物体运动框架

多物体运动框架例子:多个Div,鼠标移入biankuan 单定时器,存在问题每个Div一个定时器总结:参数问题:当运动当前的div的时候可以传参数onStart(obj,tag):obj为当前运动的div 调用时用thistag表示运动的终点距离开一个定时器(当三个div一起运动时会卡)所以利用for循环开三个定时器步骤:1.设置定时器 var timer=null:2.关闭定时器clearInterval(obj.timer);3.开启定时器:obj.timer=setInterval(fun

(38)JS运动之淡入淡出

基本思路:使用样式filter,但是要区分IE浏览器和chrom.firefox的不同,具体也是用定时器来实现. <!DOCTYPE HTML> <!-- --> <html> <head> <meta charset="utf-8"> <title></title> <style> #div1{ width:200px; height:200px; background:red; filt

淘宝首页交互3--商品分类淡入淡出效果

1.html代码: <!--导航--> <div class="nav"> <ul> <!-- 1 --> <li class="nav_list"> <p class="nav_title"> <a href="#">女装</a>/<a href="#">男装</a>/<a hre

jQuery基础(动画篇 animate,显示隐藏,淡入淡出,下拉切换)

1.jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元素的style属性,这里jQuery提供了一个快捷的方法.hide()来达到这个效果   $elem.hide() 提供参数: .hide( options ) 当提供hide方法一个参数时,.hide()就会成为一个动画方法..hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作

有关网页常见图片淡入淡出的效果的随笔

网页常见的图片淡入淡出的效果还是比较常见的,在这里,我个人来分享一些自己的一些笔记. <!DOCTYPE html><html><head>    <meta charset="utf-8">    <title>淡入淡出图片效果图</title>    <style type="text/css">        #img1{ filter:alpha(opacity:30); o