我正在尝试使用 vanilla.js 而不是 jQuery 创建褪色效果。我正在使用以下代码来创建隐藏和显示效果:
document.getElementById("pic-num-submit").onclick = function() {
fade();
};
var home = document.getElementById('home').style;
home.opacity = 1;
var agree = document.getElementById('agree').style;
agree.opacity = 0;
agree.display = "none";
function fade() {
if((home.opacity -= .1) < 0) {
home.display = "none";
show();
}
else {
setTimeout(fade, 40);
}
}
function show() {
if((agree.opacity += 0.2) < 1) {
agree.display = "";
}
else {
setTimeout(show, 40);
}
}
一切都在使用淡入淡出功能(在 Firefox 中)但是当我调用 show 功能时它只运行一次,然后它会删除显示样式,并以 0.2 不透明度显示 div 元素。我不确定我做错了什么。
这是我遇到的问题的 jsFiddle 示例:http: //jsfiddle.net/L54Aw/2/
由于某种原因,它在 Chrome 中也被破坏了(由于与 js 小数减法问题有关,fade 函数永远不会完成)