html自动淡入淡出,HTML和CSS中的动画(淡入淡出)

这篇博客介绍了如何使用JavaScript创建基于用户输入速度控制的动画效果,特别是实现元素的淡入和淡出。通过获取用户输入的速度值,计算动画的执行速率,并使用setInterval函数实现动画循环。当达到最大或最小透明度时,动画会自动停止并切换到相反的效果。这为网页动态效果提供了一种灵活的控制方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

恒定速度

.box {

position: absolute;

left: 0;

top: 30px;

width: 50px;

height: 50px;

border: solid black 1px;

background-color: #aaa;

}

.container {

position: relative;

margin-top: 20px;

margin-bottom: 100px;

}

想要速度

var setupButton = function(button, label, onclickHandler) {

button.value = label;

button.onclick = onclickHandler;

button.disabled = false;

};

var startConstantVelocityAnimation=function () {

//想取想要的速度

var velocity=parseFloat(document.getElementById("wantsudu").value);

console.log(velocity);

//获取要实现动画的对象必要时进行初始化

var box=document.getElementById("cv-box");

box.style.opacity = box.style.opacity || "1";

var fadeRate = 500 / (velocity * 1000);

// alert(box.style.left);

//开始动画 setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式

var intervalID=setInterval(function () {

var newOpacity=parseFloat(box.style.opacity)-fadeRate;

if(newOpacity<=0){

newOpacity=0;

clearInterval(intervalID);

setupButton(document.getElementById("cv-button"),"Fade In",startFadeInAnimation);

}

box.style.opacity=newOpacity;

},500);

//切换启动按钮停止动画

setupButton(document.getElementById("cv-button"),"Fade In",

function () {

clearInterval(intervalID);

//切换启动按钮以停止动画

setupButton(document.getElementById("cv-button"),

"Fade out",startConstantVelocityAnimation

);

}

)

};

var startFadeInAnimation = function() {

// Grab the desired time to fade.

var fadeTime = parseFloat(document.getElementById("wantsudu").value);

// Grab the object to animate, and initialize if necessary.

var box = document.getElementById("cv-box");

box.style.opacity = box.style.opacity || "0";

// Start animating.

var fadeRate = 500 / (fadeTime * 1000);

document.getElementById("cv-button").disabled = true;

var intervalID = setInterval(function() {

// Calculate the new values.

var newOpacity = parseFloat(box.style.opacity) + fadeRate;

if (newOpacity > 1) {

// Upon reaching maximum opacity, stop the animation and toggle

// the function of the fade button.

newOpacity = 1;

clearInterval(intervalID);

setupButton(document.getElementById("cv-button"),

"Fade Out", startConstantVelocityAnimation);

}

box.style.opacity = newOpacity;

}, 500);

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值