JS淡入淡出

跟其他物体运动略有不同,物体透明度在IE9以下版本有不兼容的情况,因此要用filter:alpha(opacity:30);这样的写法兼容,我们需要声明一个变量alpha = 30;来保存一下当前的透明度,再通过改变变量的值来修改透明度。当然用JQ的fadeIn和fadeOut也可以实现同样的效果,而且更加简便。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>淡入淡出</title>
<style>
#div1{width: 200px; height: 200px; background: blue; position: absolute; top:50px; left: 0px; filter:alpha(opacity:30); opacity: 0.3;}
</style>
<script type="text/javascript">
window.onload = function(){
    var oDiv = document.getElementById('div1');
    oDiv.onmouseover = function(){
        StartMove(100);
    }
    oDiv.onmouseout = function(){
        StartMove(30);
    }
};
var timer = null;
var alpha = 30;
function StartMove(iTarget){
    var oDiv = document.getElementById('div1');
    clearInterval(timer);
    timer = setInterval(function(){
        var speed = 0;
        if(alpha>iTarget)
        {
            speed = -10;
        }
        else
        {
            speed = 10;
        }
        if(alpha == iTarget)
        {
            clearInterval(timer);
        }
        else
        {
            alpha += speed;
            oDiv.style.filter = 'alpha(opacity:'+alpha+')';
            oDiv.style.opacity = alpha/100;
        }
    },30);
}
</script>
</head>
<body>
<div id = "div1"></div>
</body>
</html>

 

转载于:https://www.cnblogs.com/pjw2017/p/6297228.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用JavaScript的定时器和CSS的opacity属性来实现淡入淡出的效果。 首先,需要在HTML中添加一个元素,如下所示: ```html <div id="fade-in-out">Hello World</div> ``` 然后,在CSS中设置该元素的opacity属性为0,即完全透明: ```css #fade-in-out { opacity: 0; } ``` 接下来,可以使用JavaScript的定时器来控制该元素的opacity属性从0到1(淡入)或从1到0(淡出)的过渡效果。代码如下: ```javascript // 获取要淡入淡出的元素 var fadeElement = document.getElementById('fade-in-out'); // 定义变量,用于控制淡入淡出效果的速度 var fadeSpeed = 20; // 定义变量,用于存储当前元素的透明度 var currentOpacity = 0; // 定义函数,用于淡入效果 function fadeIn() { // 判断当前透明度是否小于1,如果小于1则继续增加透明度 if (currentOpacity < 1) { currentOpacity += 0.01; // 设置元素的透明度 fadeElement.style.opacity = currentOpacity; // 使用定时器,每隔fadeSpeed毫秒执行一次fadeIn函数 setTimeout(fadeIn, fadeSpeed); } } // 定义函数,用于淡出效果 function fadeOut() { // 判断当前透明度是否大于0,如果大于0则继续减少透明度 if (currentOpacity > 0) { currentOpacity -= 0.01; // 设置元素的透明度 fadeElement.style.opacity = currentOpacity; // 使用定时器,每隔fadeSpeed毫秒执行一次fadeOut函数 setTimeout(fadeOut, fadeSpeed); } } // 调用淡入函数 fadeIn(); // 使用定时器,延时1000毫秒后调用淡出函数 setTimeout(fadeOut, 1000); ``` 以上代码会让元素在页面加载后淡入,然后再延迟1秒后淡出。可以根据实际需求调整淡入淡出的速度和延时时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值