2011-09-28 96 views
0

任何人都可以在下面帮助我。更改图像

我需要在asp.net的图像框控件中显示3个图像。 图像应显示30秒,这些应该是一个接一个。

回答

1

您的问题更多关于JavascriptC#/ASP.NET

有几种方法来创建一个Image Slideshow

  1. 使用纯JavaScript

    创建一个函数来加载下一个图像,并使用SetInterval()功能的具体时间后,即可激活功能

  2. 使用JQuery插件,如Cycle


JavaScript例子:

function changeImage() { 
    // ... 
    var img = new Image(); 
    img.src = "fileNameForTheNextImage"; 
    document["YourIMGTagID"].src = img.src; 
} 

// Then in your document load, after DOM Ready: 

setInterval("changeImage()", 30000); 
+0

嗨,谢谢。我想用c#编码 – user735627

+0

C#'ImageBox'控件将作为'img'标签发送到浏览器。您只需为'ImageBox'控件定义一个静态ID并使用'javascript'在一段时间后更改该图像。 – fardjad

+0

它是''setInterval'小写's';此外,你不应该传递一个字符串到这个函数。 – ThiefMaster

1

我认为它更好地为您创建一些JavaScript以方便阅读并使用RegisterStartupScript从代码后面调用它。

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <script type="text/javascript"> 
     // called every n milisecond 
     function changeImage(imgID, imageList) { 
      if (typeof (this.currentImageCounter) == "undefined") { 
       // init counter when necessary 
       this.currentImageCounter = 0; 
      } else { 
       // increment counter between 0 to image array length 

       this.currentImageCounter = (++this.currentImageCounter) % imageList.length; 
      } 

      // display image based on current image counter 
      document.getElementById(imgID).src = imageList[this.currentImageCounter]; 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Image ID="imgSlideShow" runat="server" ClientIDMode="Static" /> 
    </div> 
    </form> 
</body> 
</html> 

注意:确保你把ClientIDMode =“static”,否则javascript将无法识别你的图片控件。

,然后把它从后面的代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    imgSlideShow.ImageUrl = "../chimg/1-P.png" 

    ClientScript.RegisterStartupScript(GetType(String), "scChangeImage", _ 
     "setInterval(""changeImage('imgSlideShow', " & _ 
     "new Array('../chimg/1-i.png','../chimg/2-i.png','../chimg/3-i.PNG'))"",2000);", True) 

End Sub 

您还可以,如果你想打电话给使用C#的RegisterStartupScript。