简单的淡入和淡出效果在没有框架的情况下点击

Simple fadein and fadeout effect onclick without frameworks

本文关键字:框架 情况下 淡入 淡出 简单      更新时间:2023-09-26

我正在寻找最简单的方法来淡化另一个div的div,然后将其隐藏或在div中淡化。 提前谢谢。

这是一个很棒的JavaScript淡出效果:

function fadeout(element) {
    var i = 1;
    var timer = setInterval(function () {
        if (i <= 0.1){
            clearInterval(timer);
            element.style.display = 'none';
        }
        element.style.opacity = i;
        element.style.filter = 'alpha(opacity=' + i * 100 + ")";
        i -= i * 0.1;
    }, 50);
}

下面是一个工作示例,其中淡入和淡出的div说"Hello World!

<html>
<script>
function animator(element) {
    this.el = element;
    this.state = 0;
    this.fadeout = function() {
        var element = this.el;
        var op = 1;
        var timer = setInterval(function () {
            if (op <= 0.0) {
                clearInterval(timer);
            }
            element.style.opacity = op;
            element.style.filter = 'alpha(opacity=' + op * 100 + ")";
            op -= 0.1;
        }, 50);
    };
    this.fadein = function() {
        var element = this.el;
        var op = 0.0;
        var timer = setInterval(function () {
            if (op >= 1.0) {
                clearInterval(timer);
            }
            element.style.opacity = op;
            element.style.filter = 'alpha(opacity=' + op * 100 + ")";
            op += 0.1;
        }, 50);
    };
}
function initfader() {
    show = new animator(document.getElementById("div1"));
}
</script>
<body onload="initfader();">
    <div id="div1">
        <h2>Hello World!</h2>
    </div>
    <input type="button" onclick="show.fadein();" value="in" />
    <input type="button" onclick="show.fadeout();" value="out" />
</body>
</html>

一个名为"transition"的CSS属性:
它无需JavaScript即可工作!
如果您不介意使用 :悬停而不是单击。
下面是一个在另一个元素中具有 :hover 效果和图像的示例。

不要忘记供应商前缀! 因此,请确保您这也适用于许多较旧的浏览器!

/* Normal */
a img {
opacity: .6;
-webkit-transition:opacity 500ms ease-out;
-moz-transition:opacity 500ms ease-out;
-o-transition:opacity 500ms ease-out;
transition:opacity 500ms ease-out;
}
/* ":hover" */
a:hover img {
opacity: 1;
-webkit-transition:opacity 500ms ease-out;
-moz-transition:opacity 500ms ease-out;
-o-transition:opacity 500ms ease-out;
transition:opacity 500ms ease-out;
}