最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • 使用 JavaScript 实现具有淡入淡出效果的图像过渡

    使用 javascript 实现具有淡入淡出效果的图像过渡

    图像转换意味着更改图像并将一张图像替换为另一张图像。用户可以在图像滑块中看到图像过渡。

    在开发图像滑块时,我们应该关注图像过渡的动画,以使应用程序具有有吸引力的用户体验。在本教程中,我们将学习使用各种图像过渡方法添加淡入淡出效果。

    为图像添加类以显示具有淡入淡出效果的图像

    我们可以使用 CSS 为图像过渡添加淡入淡出效果。 CSS 的过渡属性允许我们向图像添加任何过渡。因此,我们可以将 CSS 添加到一个类,并使用 JavaScript,我们可以将一个类添加到图像,这将为图像添加一个过渡

    语法

    用户可以按照下面的语法向图像添加一个类,以显示具有淡入淡出效果的图像。

    document.getElementById("image").classList = 'class_name';
    

    在上面的语法中,我们使用 id 访问图像并将“class_name”类添加到图像的类列表中。

    示例

    在下面的示例中,我们向网页添加了图像,并使用一些 CSS 给图像指定了高度和宽度。此外,我们还在 img 类中添加了值为 0 的不透明度。

    此外,我们还向动画类添加了“transition”和“opacity”属性。最初,图像不包含“animate”类。当用户单击该按钮时,它会执行 FadeIn() 函数,将“animate”类添加到图像中。

    在输出中,我们可以观察到当我们添加“animate”类时图像会淡入。

    <html>
    <head>
       <style>
          img {
             opacity: 0;
          }
          .animate {
             -webkit-transition: 2s;
             transition: 2s;
             opacity: 1;
          }
       </style>
    </head>
    <body>
       <h2> Using the <i> class </i> to add fadding effect in image transition </h2>
       <img id = "image" style = "width: 500px; height: 200px;" src = "https://www.tutorialspoint.com/static/images/logo-color.png" alt = "Logo Image"> <br>
       <button type = "button" onclick = "FadeIn()"> Fade In image </button>
       <script>
          function FadeIn() {
             document.getElementById("image").classList = 'animate';
          }
       </script>
    </body>
    </html>
    

    使用 jQuery 的 fadeIn() 和 fadeout() 方法为图像添加淡入淡出过渡

    JQuery的fadeout()方法允许我们以淡入淡出的效果从网页中删除图像。 fadeIn() 方法允许我们向网页添加具有淡入淡出效果的图像。

    在这里,我们将使用 fadeout() 和 fadeIn() 方法为图像过渡添加适当的淡入淡出效果。

    语法

    用户可以按照以下语法使用JQuery的fadeout()和fadeIn()方法为图像过渡添加淡入淡出效果。

    setInterval(fade, 3500);
    function fade() {
       $("#slider img").eq(current).fadeOut(0);
       current = ++current % images.length;
       $("#slider img").eq(current).fadeIn(2000);
    }
    

    在上面的语法中,当前变量跟踪要在网页上显示的图像。我们使用 fadeIn() 方法显示当前图像并隐藏所有其他图像。

    步骤

    第 1 步 – 使用类名访问所有图像。

    第 2 步 – 使用 for 循环迭代所有图像,并使用图像的 display 属性隐藏除第一张图像之外的所有图像。

    第 3 步 – 创建一个名为“current”的变量并将其初始化为零。

    步骤 4 – 创建一个 startImageTrans() 函数,并使用其中的 setInterval() 方法在每 3500 毫秒后调用 fade() 函数。不过,用户可以根据自己的需要设置时间间隔

    步骤 5 – 在 fade() 函数内,使用 JQuery 的 eq() 方法访问当前子级。使用 fadeout() 方法隐藏当前图像。

    第6步 – 将当前变量的值增加1,如果它大于图​​像总数,则将其设置为0。

    第 7 步 – 使用 fadeIn() 方法显示当前图像。

    示例

    在下面的示例中,我们创建了 HTML div 元素并添加了五个不同的图像。我们在 JavaScript 中对所有图像一一实现了上述算法,并具有淡入淡出过渡效果。

    <html>
    <head>
       <script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
       <style>
          img {
             height: 200px;
             width: 500px;
          }
       </style>
    </head>
    <body>
       <h3> Using the <i> jQuery fadeIn() method </i> to add fadding effect in image transition </h3>
       <div id="slider">
          <img src = "https://www.tutorialspoint.com/static/images/logocolor.png" class = "sliderImage" alt = "Image 1">
          <img src ="https://www.tutorialspoint.com/images/trending_categories.svg" class = "sliderImage" alt = "Image 2">
          <img src = "https://www.tutorialspoint.com/images/Data-Structure.png" class = "sliderImage" alt = "Image 3">
          <img src = "https://www.tutorialspoint.com/images/Javascript.png" class = "sliderImage" alt = "Image 4">
       </div>
       <br> <br>
       <button type = "button" onclick = "startImageTrans()"> Start Image Transitions </button>
       <script>
          let images = document.querySelectorAll('.sliderImage');
          for (let i = 0; i < images.length; i++) {
             if (i != 0)
             images[i].style.display = "none";
          }
          var current = 0;
          function startImageTrans() {
             setInterval(fade, 3500);
          }
          function fade() {
             
             // hide the previous image with fading effect
             $("#slider img").eq(current).fadeOut(0);
             current++;
             current = current % images.length;
             
             // show a current image with fading effect
             $("#slider img").eq(current).fadeIn(2000);
          }
       </script>
    </body>
    </html>
    

    使用 CSS 过渡属性为图像过渡添加淡入淡出效果

    在这种方法中,我们将为 HTML 元素设置背景图像。此外,我们将为 HTML 元素的背景添加淡入淡出过渡。所以,每当我们改变背景时,它就会出现淡入淡出的效果。

    语法

    用户可以按照以下语法使用 CSS 过渡属性为背景图像添加淡入淡出效果。

    <style>
    #background-div {
       background-image: url("image_URL");
       transition: background 2s linear;
    }
    </style>
    function FadeImage() {
       imageDiv.style.backgroundImage = `url(${allImages[current]})`;
    }
    

    我们使用上述语法中的 CSS 向元素添加了背景图像,并“过渡”到背景。每当我们使用 JavaScript 更改背景图像时,它都会自动将淡入淡出过渡应用于图像。

    示例

    在下面的示例中,div 元素包含初始背景图像。我们创建了包含不同背景图像的 URL 的图像数组。我们使用 setInterval() 方法每 3000 毫秒调用 fadeInImage() 函数。

    在 fadeInImage() 函数中,我们反复更改背景图像,当图像更改时,会使用 CSS 进行淡入淡出过渡。

    <html>
    <head>
       <style>
          #background-div {
             background-position: center;
             background-size: cover;
             background-image:
             url("https://www.tutorialspoint.com/images/trending_categories.svg");
             display: flex;
             height: 300px;
             width: 600px;
             transition: background 2s linear;
          }
       </style>
    </head>
    <body>
       <h3>Using the <i> CSS transition </i> to add fadding effect in image transition</h3>
       <div id = "background-div"></div>
       <script>
          let allImages = [
             "https://www.tutorialspoint.com/images/trending_categories.svg",
             "https://www.tutorialspoint.com/javascript/images/javascript-minilogo.jpg",
             "https://www.tutorialspoint.com/css/images/css-mini-logo.jpg",
          ]
          const imageDiv = document.getElementById("background-div");
          setInterval(FadeImage, 3000);
          let current = 0;
          function FadeImage() {
             current++;
             if (current >= allImages.length) current = 0;
             imageDiv.style.backgroundImage = `url(${allImages[current]})`;
          }
       </script>
    </body>
    </html>
    

    我们学习了三种为图像过渡添加淡入淡出效果的方法。我们在第二种方法中使用了 JQuery 的 fadeIn() 和 fadeout() 方法,在第一种和第三种方法中使用了 CSS 的“transition”属性。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » 使用 JavaScript 实现具有淡入淡出效果的图像过渡
    • 10会员总数(位)
    • 14653资源总数(个)
    • 1085本周发布(个)
    • 46 今日发布(个)
    • 105稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情