2011-09-28 119 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。