没有jquery的JavaScript幻灯片

javascript slideshow without jquery

本文关键字:幻灯片 JavaScript jquery 没有      更新时间:2023-09-26

我找不到我正在寻找的示例 -

我需要一个没有jquery的javascript幻灯片。幻灯片需要做的是逐个显示图像(如果有淡入淡出的动画会很好),每个图像都是指向另一个页面的链接。重要的是不要使用 jquery,因为我遇到了一些问题。我不想要任何控件,例如暂停下一个...或任何字幕。只是<a> <img/> </a>

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <title>JavaScript Fade - Brugbart Example</title>
    <style type="text/css">
#Slideshow {
  opacity: 1.0;              /* CSS3 */
  -moz-opacity: 1.0;         /* Older versions of Firefox */
  -khtml-opacity: 1.0;       /* Older versions of Safari */
  filter: alpha(opacity=100); /* Internet Explorer */
}
#Slideshow div {display:none;}
#Slideshow #slice1 {display:block;}
div{font-family: arial, sans-serif}
div{font-size:50px}
    </style>
  </head>
  <body>
   <div id="Basement" style="width:90%;margin:auto;">
    <div id="Slideshow">
      <div id="slice1">111111
      </div>
      <div id="slice2">222222
      </div>
      <div id="slice3">333333
      </div>
    </div>
   </div>
<script type="text/javascript">

    /* Creted with a reference from http://brugbart.com/slideshow-fade-javascript */
    var duration = 250; /* fade duration in millisecond */
    var hiddentime = 250; /* time to stay hidden */
    var showtime = 1000; /* time to stay visible */
    var active = 0 /* Used to check if fade is active */
    var iEcount = 0 /* Element Counter */
    var element = document.getElementById("Slideshow");
    var iEarray = element.getElementsByTagName('div');
    var iEtotal = iEarray.length;
    StartFade();
    function StartFade()
    { 
        iEcount = 1;
        setTimeout("FadeOut()", showtime);
    }
    function FadeOut()
    {
        for (i = 0; i <= 1; i += 0.01)
        {
            setTimeout("SetOpa(" + (1 - i) +")", i * duration);
        }
        setTimeout("FadeIn()", (duration + hiddentime));
    }
    function FadeIn()
    {
        for (i = 0; i <= 1; i += 0.01)
        {
            setTimeout("SetOpa(" + i +")", i * duration);
        }
        if (iEcount == iEtotal)
        {
            iEcount = 1
            document.getElementById("slice" + iEcount).style.display = "block";
            document.getElementById("slice" + iEtotal).style.display = "none";
        }
        else
        {
            document.getElementById("slice" + (iEcount + 1)).style.display = "block";
            document.getElementById("slice" + iEcount).style.display = "none";
            iEcount = iEcount+1
        }
        setTimeout("FadeOut()", (duration + showtime));
    }
    function SetOpa(Opa)
    {
        element.style.opacity = Opa;
        element.style.MozOpacity = Opa;
        element.style.KhtmlOpacity = Opa;
        element.style.WebkitOpacity = Opa;
        element.style.KhtmlOpacity = Opa;
        element.style.MsOpacity = Opa;
        element.style.width = "500px";
        element.style.filter = 'alpha(opacity=' + (Opa * 100) + ');';
    }
</script>

我会

看看2012年5月25日发布的答案。 类似的问题已经问过很多次了。 它有助于搜索已经回答的答案。

我目前已经实现了您要做的事情。 与我链接到的帖子中的内容非常相似。