成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET創建SlideShow類

開發 后端
本文介紹ASP.NET創建SlideShow類,它將負責完成所有的幻燈片操作任務—例如播放、暫住和導航幻燈片。

一、簡介

在公司網站中,我們經常需要一個基于Web幻燈片形式的機制來演示自己的(也可能是別人的)產品。當然,你可以使用普通的JavaScript來開發這樣的幻燈片;但是,借助于ASP.NET AJAX框架,這一開發工作將得到極大簡化。在本文示例中,我們正是想將借助于Web頁面方法和客戶端腳本擴展技術開發這樣一個簡單的幻燈片。終端用戶可以播放和暫停幻燈片,也可以進行循環播放,還可以手工控制.

二、創建一個ASP.NET AJAX-Enabled網站

啟動Visual Studio 2005,然后選擇菜單項“文件|新建網站…”,使用模板“ASP.NET AJAX-Enabled網站”創建一個新的網站,并命名工程為SlideShow(選擇Visual C#作為內置語言)。此后,系統應該自動地添加對必要的程序集—System.Web.Extension.dll的參考。此外,你會注意到一個ScriptManager服務器控件自動地添加到頁面中。注意,這個服務器控件作為整個ASP.NET AJAX框架的控制中心。

然后,添加一個具有兩行和一列的HTML表格,再在第一行添加一個<img>標簽,在第二行添加六個HTML按鈕控件。下圖1展示web表單Default.aspx的大致布局。

三、創建SlideShow類

右單擊工程添加一個新的java腳本文件,并命名為JScript.js。在此,我們將創建SlideShow類,它將負責完成所有的幻燈片操作任務—例如播放、暫住和導航幻燈片。注意,這個SlideShow類的開發是基于ASP.NET AJAX客戶端腳本擴展技術,具體實現代碼如下所示:

  1. Type.registerNamespace("Demo");  
  2. //構造函數及私有變量聲明   
  3. Demo.SlideShow=function(){  
  4. this._slides=new Array();  
  5. this._delay=2000;  
  6. this._currentIndex=0;  
  7. this._pause=false;  
  8. }  
  9. //原型定義部分   
  10. Demo.SlideShow.prototype=  
  11. {  
  12. get_Slides:function() {  
  13. return this._slides;  
  14. },  
  15. set_Slides:function(value) {  
  16. this._slides=value;  
  17. },  
  18. get_Delay:function() {  
  19. return this._delay;  
  20. },  
  21. set_Delay:function(value) {  
  22. this._delay=value;  
  23. },  
  24. get_CurrentIndex:function() {  
  25. return this._currentIndex;  
  26. },  
  27. set_CurrentIndex:function(value) {  
  28. if(value<0) {  
  29. thisthis._currentIndex=this._slides.length-1;  
  30. return;  
  31. }  
  32. if(value>=this._slides.length) {  
  33. this._currentIndex=0;  
  34. }  
  35. else{  
  36. this._currentIndex=value;  
  37. }  
  38. },  
  39. get_IsPaused:function() {  
  40. return this._pause;  
  41. },  
  42. set_IsPaused:function(value) {  
  43. this.pause=value;  
  44. },  
  45. Pause:function() {  
  46. this._pause=true;  
  47. },  
  48. Play:function() {  
  49. this._pause=false;  
  50. window.setTimeout("slideshow.ShowImage()",  
  51. this.get_Delay());  
  52. },  
  53. ShowFirst:function() {  
  54. this._currentIndex=0;  
  55. this.ShowImage();  
  56. },  
  57. ShowLast:function() {  
  58. thisthis._currentIndex=this._slides.length-1;  
  59. this.ShowImage();  
  60. },  
  61. ShowNext:function() {  
  62. var newIndex=this._currentIndex +1;  
  63. this.set_CurrentIndex(newIndex);  
  64. this.ShowImage();  
  65. },  
  66. ShowPrevious:function()  
  67. {  
  68. var newIndex=this._currentIndex -1;  
  69. this.set_CurrentIndex(newIndex);  
  70. this.ShowImage();  
  71. },  
  72. ShowImage:function() {  
  73. var img=$get("Image1");  
  74. if(img.style.visibility=="hidden") {  
  75. img.style.visibility="visible";  
  76. }  
  77. var slides=this.get_Slides();  
  78. var curIndex=this.get_CurrentIndex();  
  79. img.src=slides[curIndex];  
  80. if(this.get_IsPaused()==false)  
  81. {  
  82. this.set_CurrentIndex(curIndex+1);  
  83. this.Play();  
  84. }  
  85. }  
  86. }  
  87. //注冊類   
  88. Demo.SlideShow.registerClass("Demo.SlideShow");  
  89. //創建全局SlideShow類的實例   
  90. var slideshow=new Demo.SlideShow(); 

在代碼的最開始,我們先注冊一個稱為Demo的新的命名空間。然后,創建SlideShow類。該SlideShow類的構造器共聲明了四個私有成員變量。其中,_slides變量指向一個包含幻燈片圖像URL的數組;_delay變量指示兩張相鄰的幻燈片播放的間隔時間(單位為毫秒);_currentIndex變量存儲了當前幻燈片在_slides數組中的索引值;最后,_pause變量指示幻燈片被暫停(true)還是處于運行態(false)。

接下來,在SlideShow類的原型中,我們定義了與前面的四個屬性相關聯的getter/setter方法,也就是Slides、Delay、CurrentIndex和 IsPaused。其它方法都比較基本,因此我們僅介紹方法set_CurrentIndex()。這個set_CurrentIndex()屬性方法負責檢查提供給它的索引值。如果該值超出slides數組上下標邊界,那么,它會把這個值調整到0或數組的長度減1(根據具體情況而定)。這是很關鍵的,這樣以來,幻燈片就可以進行循環播放。

接下來,Pause()方法簡單地把成員變量_pause設置為true—這可以控制幻燈片如何暫停。
Play()方法負責播放幻燈片。它首先設置_pause變量為false,然后調用JavaScript 對象windows的setTimeout()方法。該setTimeout()方法接受兩個參數:在經過特定時間延遲后要執行的代碼;在此代碼執行完后對應的時間跨度(單位為毫秒)。在本例中,這個延遲值來自于get_Delay()屬性。在此,該setTimeout()方法將調用 ShowImage()方法。

ShowImage()方法負責執行顯示一個圖像的核心工作。它引用了CurrentIndex和Slides兩個屬性,然后把圖像標簽的src屬性設置為Slides數組中對應的適當的圖像。注意,Image1是一個圖像標簽的ID—我們將在后面添加它。此外,還應注意$get()方法的用法,它等價于document.getElementById()方法。然后,CurrentIndex的值加1并且再次調用Play()方法。這樣以來,將形成一個無限循環,而幻燈片將持續不斷地播放下去。

最后的四個方法—ShowFirst(),ShowLast(),ShowNext()和ShowPrevious()方法只是簡單地調整_currentIndex成員變量的值,并調用ShowImage()方法來顯示一張幻燈片。

在創建類結束后,我們使用registerClass()方法把它注冊到MS AJAX框架。最后,聲明一個SlideShow類的全局實例變量。

最后打開Web頁面Default.aspx,選擇ScriptManager控件,并且設置它的EnablePageMethods屬性為true,而且還要把JScript.js文件添加到它的腳本集合中。以上介紹創建SlideShow類

【編輯推薦】

  1. 淺析ASP.NET Web 安全性
  2. ASP.NET的Session State
  3. 淺析IsPostBack屬性ASP.NET
  4. ASP.NET構架與安全機制
  5. 概述ASP.NET水晶報表
責任編輯:佚名 來源: 百度空間
相關推薦

2009-07-24 12:41:21

BLL類

2009-07-23 14:21:55

ASP.NET頁面

2009-08-04 13:38:36

ASP.NET用戶控件

2009-07-23 15:18:30

創建XML Web服務ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-08-10 17:04:42

ASP.NET安裝部署

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-23 14:25:03

ASP.NET 2.0

2009-07-27 10:22:43

ASP.NET Dro

2009-08-07 15:40:10

CompositeCo復合控件

2009-08-04 17:42:23

DataSourceCASP.NET

2009-07-29 17:11:25

ASP.NET ISA

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-24 16:37:04

創建母版頁asp.net 2.0

2009-08-03 13:38:18

ASP.NET編程模型

2009-07-28 09:02:32

asp.net aja

2009-08-03 17:35:07

ASP.NET WebASP.NET編程工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品在线看 | 日韩欧美一级片 | 亚洲欧美一区二区三区1000 | 日韩一区二区免费视频 | 国产成人免费视频网站高清观看视频 | 亚洲免费视频一区 | 精品久久久久久久久久久久久久 | 中文字幕在线观看成人 | 女同videos另类 | 99精彩视频| a级大片免费观看 | 国产日韩亚洲欧美 | 精品国产18久久久久久二百 | 欧美一区二区三区在线 | 日韩精品一区二区三区在线观看 | 日本一区二区高清视频 | 日韩av电影在线观看 | 中文在线一区二区 | www.97zyz.com| 在线视频亚洲 | 性网址| 亚洲一视频 | 日韩精品区 | www.久草.com| 国色天香成人网 | 在线视频一区二区三区 | 99精品免费在线观看 | 黄色在线观看网址 | 亚洲国产精品一区 | 成人精品国产一区二区4080 | 操操操日日日 | 亚洲区一区二区 | 国产精品中文字幕在线 | 久久久av中文字幕 | 亚洲日本欧美日韩高观看 | 中文字幕高清视频 | 日韩视频在线一区 | 91久久国产综合久久91精品网站 | 亚洲三区视频 | 日韩精品一区二区在线 | 在线看av网址 |