如何向我的 JavaScript 幻灯片添加淡出效果

How Do I Add a Fade out affect to my JavaScript slideshow?

本文关键字:添加 淡出 幻灯片 JavaScript 我的      更新时间:2023-09-26

我目前正在处理简单的网页,并使用JavaScript添加了三个图像的幻灯片。我喜欢其他网站幻灯片在每个图像中淡入和淡出的方式,而不仅仅是突然更改。请告诉我如何在仅使用CSS,标准HTML和Java脚本的情况下将此影响添加到我当前的代码中。 这是我的 HTML 代码

    <!DOCTYPE html>
<html>
        <head>
            <title>Car Of Your Dreams Australia</title>
            <link rel="shortcut icon" href="?'favicon.ico">
            <link rel="stylesheet" type="text/css" href="stylesheet.css">
            <h1> Car Of Your Dreams Australia </h1>

<script type="text/javascript">
var slideimages = new Array() 
slideimages[0] = new Image() 
slideimages[0].src = "r8.jpg" 
slideimages[1] = new Image()
slideimages[1].src = "California.jpg"
slideimages[2] = new Image()
slideimages[2].src = "SLSAMG.jpg"
</script>
<body>
        <img src="r8.jpg" id= "slide" width=1336 height=768 />
        <script type = "text/javascript">
        var step=0
        function slideit(){
        if (!document.images)
        return
        document.getElementById('slide').src = slideimages[step].src
        if (step<2)
        step++
        else
        step=0
        setTimeout("slideit()",5000)
        }
        slideit()
        </script>
</body>
        </head>
        </html>

和我的 CSS

body {background-color:#000000;}
h1 {color:#FF0040;}
p1 {color:#C1CDCD;}
h1 {
    font-family: Calibri;
    font-size: 26px;
    font-style: normal;
    font-variant: normal;
    font-weight: bold;
    line-height: 11px;
}
p1 {
    font-family: Calibri;
    font-size: 14px;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 14px;
}
h1.italic {font-style:italic;}
.boxed {
    margin-right:750px;
    position:absolute;
    left:60px;
    top:100px;
    z-index:+1;
    border: 5px outset #E0EEEE;

}

除非你的要求要求你避免使用javascript框架,否则我会研究RevealJS。

http://lab.hakim.se/reveal-js/#/

Reveal 具有您查看的特定操作(淡入和淡出)以及更多记录。如果您正在寻找托管平台,他们还有一个托管平台以及供您下载和玩的开源版本。我个人将其用于我所有定制开发的HTML驱动的幻灯片。

为图像提供基线不透明度,并确定此元素向不透明度的所有过渡都将在 1 秒的时间内发生。

img{
    opacity:1;
    transition:opacity 1s;
}

创建一个不透明度为 0 的新类。

img.fade{
    opacity:0;
}

当 slideit() 时将此类添加到元素中;生成:

function slideit(){
    document.getElementById('slide').classList.add('fade');

在 1 秒后立即添加一个超时函数,这将更改元素的 SRC,并且还将删除 fade 类,从而再次触发过渡。

setTimeout(function(){
    document.getElementById('slide').src = slideimages[step].src;
    document.getElementById('slide').classList.remove('fade');
}, 1000);

现在,当函数执行时,现有图像将在 1 秒内淡出,然后图像的 SRC 将更改,然后在 1 秒内淡入淡出。