0

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

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

4

2 回答 2

3
<!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>

于 2014-03-29T04:31:11.770 回答
0

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

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

于 2013-11-25T04:55:48.353 回答