我在一页上有两个简单的javascript幻灯片,但第二个停止了第一个工作

I have two simple javascript slideshows on one page but the second one stops the first one working

本文关键字:幻灯片 javascript 第二个 第一个工作 简单 一页 两个      更新时间:2023-09-26

伙计们,我在让这段代码工作时遇到了一些问题。问题是添加第二个幻灯片会使第一个幻灯片停止工作,它还会导致单击第一个幻灯片以更改第二个幻灯片上的图片。这是我第一次尝试任何javascript。两个幻灯片都单独工作,我已经研究了它并更改了行文档。Lunch.src 在中间有不同的名称。我还尝试将此行函数 slideshow() 更改为两个脚本的函数幻灯片 1() 和函数幻灯片 2(),看看这是否有效,但我没有快乐。我知道这个问题以前被问过,因为我经历了所有类似的问题,但它们来自 2 年和 3 年前,没有答案。任何帮助都非常感谢。

这是我的代码

<SCRIPT type="text/javascript">
      var num = 1
      img1 = new Image ()
      img1.src = "Lunch2.jpg"
      img2 = new Image ()
      img2.src = "Lunch.jpg"
     function slideshow()
      {
            num = num + 1
            if (num == 3)
          {num = 1}
        document.Lunch.src=eval("img"+num+".src")
      }
</SCRIPT>
<SCRIPT type="text/javascript">
      var num = 1
      img1 = new Image ()
      img1.src = "Mail.jpg"
      img2 = new Image ()
      img2.src = "Mail2.jpg"
      function slideshow()
          {
                num = num + 1
               if (num == 3)
              {num = 1}
            document.Mail.src=eval("img"+num+".src")
          }
</SCRIPT>
</head> 

和这里

    <IMG SRC = "Lunch2.jpg" NAME = "Lunch" BORDER = 3 alt = ""> 
    <p></p>
    <A HREF="JavaScript:slideshow()">Click for next picture</A>
    <IMG SRC = "Mail.jpg" NAME = "Mail" BORDER = 3 alt = "">
    <p></p>
    <A HREF="JavaScript:slideshow()">Click for next picture</A>

你的基本问题是重新定义事物。 由于您没有为 slideshow 函数命名,因此当您定义第二个函数时,它会替换第一个函数。

因此,您最终会得到两个链接,它们都调用同一个slideshow方法。 由于第二个定义使该方法替换了document.Mail的源,这就是发生的事情。

如果您只想构建一个漂亮的幻灯片,最好通过查找如何使用任意数量的框架制作幻灯片来提供服务。 我相信引导仍然很受欢迎。 看这里。

如果你想了解更多关于命名空间javascript函数和变量的信息。 我推荐一个javascript教程。 我没有立即对此的建议。