中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 多媒體制作 > 完美的loading—完美到底
鼠標(biāo)特效--彈性框架的制作 回到列表 用純AS寫(xiě)滾動(dòng)條
 完美的loading—完美到底

作者:awflasher 時(shí)間: 2006-03-24 文檔類(lèi)型:原創(chuàng) 來(lái)自:藍(lán)色理想

第 1 頁(yè) 基礎(chǔ)
第 2 頁(yè) 利器
第 3 頁(yè) 減負(fù)

讀取外埠數(shù)據(jù)參與Flash應(yīng)用程序部署是一件非常重要和常見(jiàn)的工作,尤其是我們常常需要檢測(cè)這些數(shù)據(jù)加載的進(jìn)度。而MovieClipLoader(下稱(chēng)MCL)類(lèi)卻幫我們大大簡(jiǎn)化了這項(xiàng)麻煩工作。此外,它使得我們能獲取更多的需要,并減少代碼量。我們可以用一個(gè)單獨(dú)的MovieClip類(lèi)來(lái)載入一個(gè),或者多個(gè)外埠資源到指定的MC或者層級(jí),或者我們可以為每一個(gè)加載工作制定不同的MCL實(shí)例。

我決定分兩部分來(lái)完成這篇教程。首先,我們將介紹MCL的基本用法;然后我們將介紹如何使用一個(gè)單獨(dú)的MCL實(shí)例來(lái)讀取外埠資源到不同的MC,并且,我們將加入偵聽(tīng)器對(duì)象來(lái)參與工作。當(dāng)然,不通過(guò)偵聽(tīng)器也可以完成任務(wù),我們暫時(shí)不介紹偵聽(tīng)器,因?yàn)檫@樣你會(huì)更加容易理解MCL。

那么,我們首先來(lái)大體了解一下MCL有哪些回調(diào)函數(shù),后面也會(huì)有詳細(xì)介紹(aw附:回調(diào)函數(shù)我個(gè)人理解就是某一個(gè)類(lèi)組、參數(shù)事先確定,擁有指定功效的方法)這里可以了解一下什么叫做回調(diào)函數(shù)):

MovieClipLoader對(duì)象的回調(diào)函數(shù):

事件回調(diào)函數(shù)(嚴(yán)格要求數(shù)據(jù)類(lèi)型的時(shí)候,它們并不是方法,后祥):
* MovieClipLoader.onLoadStart() - 當(dāng)加載開(kāi)始的時(shí)候觸發(fā)
* MovieClipLoader.onLoadProgress() - 在讀取進(jìn)行中觸發(fā)
* MovieClipLoader.onLoadInit() - 讀取資源載入后的第一幀執(zhí)行完成后觸發(fā)
* MovieClipLoader.onLoadComplete() - 當(dāng)讀取的外埠資源已經(jīng)完全下載到本地時(shí)觸發(fā)。
* MovieClipLoader.onLoadError() - 當(dāng)加載外埠資源出錯(cuò)時(shí)觸發(fā)。
* MovieClipLoader.unloadClip() - 將加載的外埠資源移除或終止一個(gè)加載工作。

方法回調(diào)函數(shù):

* MovieClipLoader.getProgress(target:Object):Object - 讀取外埠資源的進(jìn)展,參數(shù)為MC對(duì)象(aw附:其實(shí)MC這種數(shù)據(jù)類(lèi)型也就是一種對(duì)象)。返回一個(gè)對(duì)象,該對(duì)象包含兩種事先預(yù)定好的屬性(后祥)

要想好好理解這些回調(diào)函數(shù),我們動(dòng)手試驗(yàn)一下是最好的方法。當(dāng)然MCL是Flash7之后才有的,所以別忘了發(fā)布的時(shí)候發(fā)布成為7+的版本號(hào)。如果直接用FlashPlayer來(lái)調(diào)試可能會(huì)遇到一些問(wèn)題,我們推薦在瀏覽器中進(jìn)行調(diào)試(個(gè)人意見(jiàn):對(duì)于外埠資源難以獲得情況,比如教育網(wǎng)獲取公網(wǎng)資源,最好不要在IDE中調(diào)試)

在我們的例子中,我們將用一個(gè)MCL對(duì)象來(lái)讀取不同的圖片,并將它們置入不同的空MC中。本例中要用到的swf文件和圖像源文件將在Actionscript.org找到(個(gè)人建議:其實(shí)看完這篇文章要不要源文件沒(méi)有必要了)

1、建立一個(gè)新的Flash文檔,并在第1幀輸入以下腳本:

_root.traceBox.vScrollPolicy ="on";
function myTrace(msg)
{
 _root.traceBox.text += msg + newline;
 _root.traceBox.vPosition = _root.traceBox.maxVPosition;
}

我們這里是在建立一種跟蹤調(diào)試機(jī)制,調(diào)試的(變量)將輸出到文本框組件中。這里的方法"myTrace"是預(yù)先定義好的一個(gè)函數(shù),它幫助我們順利完成對(duì)某些信息的監(jiān)控;其中第二句的作用是使文本框隨時(shí)輸出最新監(jiān)控值。

2、現(xiàn)在從組建庫(kù)托拽一個(gè)TextArea組件進(jìn)入場(chǎng)景,并給以合適的大小,以及一個(gè)實(shí)例名稱(chēng)traceBox(對(duì)應(yīng)上面的腳本)

3、接下來(lái),我們要建立一個(gè)新的MC元件。并在場(chǎng)景上部署3個(gè)實(shí)例,為它們分別命名為myMC1,myMC2,myMC3。我們將把圖片或者swf影片裝載進(jìn)入它們,并且,在它們下載到本地后按照需求調(diào)整它們的尺寸。其實(shí),對(duì)圖片人為地改變尺寸會(huì)造成許多不好的后果,比如鋸齒的產(chǎn)生,但是為了讓大家了解onLoadInit事件的使用,我們將會(huì)這么做。

4、然后,我們建立一個(gè)MCL對(duì)象,在第一幀輸入以下腳本:

var myMCL = new MovieClipLoader();//create an instance of MovieClipLoader

aw附:這里我想羅索以下,關(guān)于Object的翻譯。因?yàn)樯鲜龃a的注釋中,老外用的是instance這個(gè)詞,直譯的話(huà),Object是“對(duì)象”;Instance代表“實(shí)例”。前者更注重于其數(shù)據(jù)類(lèi)型,而后者則更注重于其客觀存在性。

5. 現(xiàn)在我們就可以部署腳本了,在第一幀:

myMCL.onLoadStart = function (targetMC)
{
 var loadProgress = myMCL.getProgress(targetMC);
 myTrace ("The movieclip " + targetMC + " has started loading");
 myTrace("Bytes loaded at start=" + loadProgress.bytesLoaded);
 myTrace("Total bytes loaded at start=" + loadProgress.bytesTotal);
}

這個(gè)函數(shù)的第一行中申明了一個(gè)(對(duì)象類(lèi)型的)變量,顯然,這個(gè)變量的值由myMCL對(duì)象的getProgress方法獲得.剛才已經(jīng)介紹了getProgress方法,這里可以看到,返回的loadProgress.bytesLoaded就是loadProgress對(duì)象的bytesLoaded屬性.
這里我再啰嗦一句:為什么返回一個(gè)對(duì)象,而不返回具體的值。這是有原因的。函數(shù)返回值的功能使得程序設(shè)計(jì)更加完美,然而很多情況下,我們要返回的并非一個(gè)值,我們可能返回兩個(gè)或者更多的值,甚至它們的數(shù)據(jù)類(lèi)型都不相同。這樣,只有通過(guò)對(duì)象的形式來(lái)返回了。這是解決問(wèn)題最簡(jiǎn)單最高效的方法。下面三句myTrace就呼應(yīng)了之前我們定義的監(jiān)控函數(shù),這樣就能看到我們關(guān)注的變量了。

6、我們已經(jīng)為onLoadStart事件部署了相應(yīng)的工作,接下來(lái)我們要為上述其他事件部署工作了。緊接著是onLoadProgress,它接受三個(gè)參數(shù):targetMC, loadedBytes, totalBytes。分別代表目標(biāo)容器MC實(shí)例;已經(jīng)讀取的體積、總體積。

myMCL.onLoadProgress = function (targetMC, loadedBytes, totalBytes) {
 myTrace ("movie clip: " + targetMC);
 myTrace("Bytes loaded at progress callback=" + loadedBytes);
 myTrace("Bytes total at progress callback=" + totalBytes);
}

7、我們的onLoadComplete方法僅接受一個(gè)參數(shù),它就是容器MC實(shí)例。像onLoadStart一樣,我們用getProgress方法來(lái)返回讀取情況。

myMCL.onLoadComplete = function (targetMC)
{
 var loadProgress = myMCL.getProgress(targetMC);
 myTrace (targetMC + " has finished loading.");
 myTrace("Bytes loaded at end=" + loadProgress.bytesLoaded);
 myTrace("Bytes total at end=" + loadProgress.bytesTotal);
}

8、onLoadInit方法將在所有加載的內(nèi)容被下載到本地容器MC中之后才開(kāi)始執(zhí)行。這將使得你能更好的控制加載進(jìn)來(lái)的內(nèi)容的屬性。我選擇的圖片非常大,這樣我們可以把讀取過(guò)程看得更加清晰,而我也要對(duì)已經(jīng)加載的圖片尺寸進(jìn)行修整,讓它能全部顯示出來(lái)。

myMCL.onLoadInit = function (targetMC)
{
 myTrace ("Movie clip:" + targetMC + " is now initialized");
 targetMC._width = 170;
 targetMC._height = 170;
}

9、還有一個(gè)回調(diào)方法onLoadError。如果有錯(cuò)誤發(fā)生,它將會(huì)被觸發(fā)。作為一個(gè)優(yōu)秀的程序員,部署完善的應(yīng)用程序的時(shí)候,對(duì)錯(cuò)誤發(fā)生的避免措施是必不可少的!

myMCL.onLoadError = function (targetMC, errorCode)
{
 myTrace ("ERRORCODE:" + errorCode);
 myTrace (targetMC + "Failed to load its content");
}

10. Well that's the hard work out of the way. Now we just have to load the files in to their respective targets, using loadClip, and passing it two arguments: the location of your file, and the destination movieclip for the file to load in to.
10、我們終于將最復(fù)雜的工作部署好了。接下來(lái)我們只用使用loadClip方法讀入我們需要的內(nèi)容就行了。loadClip方法的兩個(gè)參數(shù)分別是外埠資源的地址容器MC的實(shí)例。

myMCL.loadClip("http://www.yourdomain.com/test1.swf","_root.myMC1");
myMCL.loadClip("http://www.yourdomain.com/test2.swf ", "_root.myMC2");
myMCL.loadClip("http://www.yourdomain.com/pic.jpg", "_level0.myMC3");

路徑可以選擇相對(duì)路徑。注意,路徑的相對(duì)性也是一個(gè)大問(wèn)題,當(dāng)SWF在非本路徑的HTML中被引用的時(shí)候,遵從HTML所在的路徑!這一點(diǎn)是很多Flash教程都忽視的。所以,有時(shí)候絕對(duì)路徑也有絕對(duì)路徑的好處。[路徑問(wèn)題源文件下載,下載了就一目了然了

所有的調(diào)試工作最好在瀏覽器中,而非IDE中完成。而且腳本輸出方式必須是AS2。
Remember, for everything to work properly you need to be testing throuhg a browser (and preferably on line so you can see the files loading in real time). You also need to be exporting your code as ActionScript 2.

In the second part of this tutorial I'm going to show you how to use the MovieClipLoader class in a real-world situation, in order to solve a common problem when assigning event handlers to MovieClips dynamically.
接下來(lái),我將介紹實(shí)時(shí)調(diào)用MCL的情況。為了能適應(yīng)更多的應(yīng)用,我們經(jīng)常動(dòng)態(tài)地為MCL制定工作。

aw話(huà)外音:有時(shí)候,我們?nèi)绱藢?xiě):

1、var mcl:MovieClipLoader = new MovieClipLoader ();
2、var mcl = new MovieClipLoader ();

發(fā)現(xiàn)第一種寫(xiě)法無(wú)法為MCL制定onLoadStart等事件方法。這是編譯器根據(jù)指定變量的數(shù)據(jù)類(lèi)型產(chǎn)生的問(wèn)題。osflash的一些朋友給了一些有用的觀點(diǎn),我也發(fā)現(xiàn)這個(gè)問(wèn)題正好涉及到Flash內(nèi)部的事件響應(yīng)機(jī)制,不妨介紹一下:
Flash的三種事件響應(yīng)機(jī)制

1、簡(jiǎn)單的回調(diào)函數(shù),最老的;
2、偵聽(tīng)器,ASBroadcaster,F(xiàn)lashMX時(shí)代;
3、事件偵聽(tīng)器,EventDispather,F(xiàn)lashMX2004時(shí)代

這里,MCL用的是第二種機(jī)制,而整套V2組件則使用最后一套機(jī)制。
附:MCL官方申明,注意:上述方法中,僅包含getProgress方法!

intrinsic class MovieClipLoader
{
  function MovieClipLoader();

  function addListener(listener:Object):Boolean;
  function getProgress(target:Object):Object;
  function loadClip(url:String, target:Object):Boolean;
  function removeListener(listener:Object):Boolean;
  function unloadClip(target:Object):Boolean;
}

個(gè)人補(bǔ)充認(rèn)為:1、2在不嚴(yán)格要求數(shù)據(jù)類(lèi)型的時(shí)候可以通用。

下面開(kāi)始介紹用偵聽(tīng)器來(lái)檢測(cè)MCL事件的方法。在此之前,我們解決一個(gè)最常見(jiàn)的問(wèn)題,我們經(jīng)常會(huì)在論壇中看到有人這樣提問(wèn):

引用 :

大家好,我動(dòng)態(tài)地建立了一些MC,并逐個(gè)分配給它們一個(gè)事件句柄(標(biāo)志)。然后,我將外埠資源讀取到它們之中。但是這些分配好的事件句柄都不工作了!
緊接著,發(fā)問(wèn)人一般會(huì)貼出一對(duì)亂七八糟的代碼,并大呼救命。

那么,我們首先來(lái)分析一下這個(gè)錯(cuò)誤發(fā)生的原因:當(dāng)外埠資源被載入到一個(gè)MC中時(shí),這個(gè)MC將會(huì)重新初始化。這意味著任何被預(yù)先制定好的代碼都將付之東流。對(duì)于開(kāi)發(fā)人員已經(jīng)手動(dòng)在舞臺(tái)上安排好的MC則并沒(méi)有相關(guān)的麻煩,這是因?yàn)槿魏沃苯油ㄟ^(guò)onClipEvent制定到MC的代碼都能幸免被重新初始化。而動(dòng)態(tài)建立的MC則進(jìn)行上述的“初始化”,因?yàn)槲覀兪窃谶\(yùn)行中給它們配置的事件代碼。

我們?nèi)绾伪苊膺@個(gè)問(wèn)題呢?其實(shí)方法太多了,很多論壇也進(jìn)行了極為詳細(xì)的討論,我就不多贅述了。

你現(xiàn)在也許還記得剛才我介紹的“讀取外埠數(shù)據(jù)參與Flash應(yīng)用程序部署是一件非常重要和常見(jiàn)的工作,尤其是我們常常需要檢測(cè)這些數(shù)據(jù)加載的進(jìn)度

我們已經(jīng)介紹了MCL的幾個(gè)回調(diào)函數(shù),所以這里也不再贅述了。我們現(xiàn)在制作這樣一個(gè)效果:縮略圖標(biāo)式的圖片瀏覽系統(tǒng)。我們將要從外部讀取一些JPG圖片,將它們放入我們動(dòng)態(tài)部署的MC中。并且我們希望這些動(dòng)態(tài)建立的MC都具有各自的onPress事件。我們通過(guò)在MC裝載好外部資源之后再為之分配事件。

在我們開(kāi)始之前,我還想提醒大家注意一些經(jīng)常出現(xiàn)的疏漏:一定要在發(fā)布的時(shí)候設(shè)置成Flash7+AS2以上的版本;其次,用瀏覽器測(cè)試你的效果,而不是IDE;否則你將會(huì)得到奇怪的結(jié)果。

現(xiàn)在,我們開(kāi)始編制代碼,你會(huì)發(fā)現(xiàn)它比你想象的要簡(jiǎn)單得多。

1、新建一個(gè)Flash文檔。

2、找四張100*100像素的縮略圖片。

3、建立一個(gè)動(dòng)態(tài)文本框,大概在300*300像素左右,使用12號(hào)字體,并使之現(xiàn)實(shí)邊框,這樣我們更好監(jiān)測(cè)。別忘了設(shè)置它為多行的。

4、建立一個(gè)100X100像素的矩形,轉(zhuǎn)變?yōu)镸C,然后將它移出場(chǎng)景。這時(shí)候,他已經(jīng)出現(xiàn)在庫(kù)中了。在庫(kù)中,設(shè)置他的鏈接名為“img”,并使其“在第一幀導(dǎo)出”。其實(shí)這個(gè)矩形會(huì)在外部資源載入的時(shí)候被取代,現(xiàn)在只是為了調(diào)試方便。

5、在剛才放置textBox文本框的層之上新建一層,這一層用于放置我們的代碼,先寫(xiě)上:

stop();

6、現(xiàn)在我們定義一個(gè)MCL的實(shí)例,此外定義一個(gè)基本對(duì)象,作為我們的偵聽(tīng)器:

myMCL = new MovieClipLoader(); //define MovieClipLoader
myListener = new Object(); //define listener

7、接下來(lái)我們用偵聽(tīng)器來(lái)偵聽(tīng)onLoadComplete事件,該事件的作用上文已經(jīng)提到了。我們現(xiàn)在把它交給listener對(duì)象,而不是MCL實(shí)例。當(dāng)然,最終要把偵聽(tīng)器對(duì)象再交回MCL(以偵聽(tīng)其回調(diào)函數(shù))的時(shí)候,得到的效果就是我們需要的效果了。

記住,只有當(dāng)讀取完畢的時(shí)候,對(duì)MC部署事件任務(wù)才是安全可靠的!所以,在onLoadComplete被觸發(fā)的時(shí)候才部署這個(gè)onPress事件給MC:

myListener.onLoadComplete = function(targetMC){
 debug.text += "LOADING OF " + targetMC
 + " COMPLETE" + newline;
 targetMC.onPress = function() {
 debug.text += newline
 + "targetMC = " + targetMC._name;
 }
}

注:上述代碼中有幾行被人為打斷,但這并不影響效果。

你也許已經(jīng)注意到了,MC的實(shí)例名稱(chēng)在onLoadComplete被觸發(fā)的時(shí)候是作為一個(gè)參數(shù)的身份傳遞給onLoadComplete的,這樣我們控制這個(gè)MC就非常方便了。比如這里就可以用點(diǎn)擊MC來(lái)檢測(cè)事件是否被成功部署給MC。

8、現(xiàn)在我們建立一個(gè)函數(shù),它包含一個(gè)簡(jiǎn)單的循環(huán)來(lái)部署場(chǎng)景上的MC。并且及時(shí)地為每一個(gè)部署好的MC分配讀取外埠資源的任務(wù)(loadClip方法),代碼如下:

function initClips(){
 for (i=1; i<=4; i++){
 this.attachMovie("img", "img" + i, i);
 this["img"+i]._x = i*110;
 myMCL.loadClip("0" + i + ".jpg" ,
 this["img"+i]); //code wrapped
 }
}

9、到這里基本上就完成了,F(xiàn)在我們剩下的工作就是注冊(cè)偵聽(tīng)器并且按照需求調(diào)用相關(guān)函數(shù)、方法,反映到代碼上就是以下兩行:

myMCL.addListener(myListener);
initClips();

注意這里的順序,我們的偵聽(tīng)器對(duì)象在調(diào)用initClip()函數(shù)之前就被作用于MCL實(shí)例了,F(xiàn)在我們的MC的onPress事件可以順利工作了,因?yàn)楫?dāng)圖片被完全讀入之后,事件才被分配過(guò)去。我們的代碼也非常簡(jiǎn)潔。我們?cè)僖膊挥脼榱薼oading而去制作麻煩的循環(huán)了,MovieClipLoader幫我們完成了所有工作!

附:完整代碼如下:

stop();
myMCL = new MovieClipLoader();
myListener = new Object();
myListener.onLoadComplete = function(targetMC)
{
  targetMC.onPress = function ()
  {
    trace("pressed");
  }
}

function initClips()
{
  for (i=1;i<=4;i++)
  {
    this.attachMovie("img","img"+i,i);
    this["img"+i]._x = i*110;
    myMCL.loadClip(url,this["img"+i]);
  }
}
myMCL.addListener(myListener);
initClips();

到此為止,你應(yīng)該相信MCL確實(shí)是一個(gè)不可多得的好東西了吧?

出處:藍(lán)色理想
責(zé)任編輯:moby

上一頁(yè) 基礎(chǔ) 下一頁(yè) 減負(fù)

◎進(jìn)入論壇Flash專(zhuān)欄版塊參加討論

相關(guān)文章
loading 的詳細(xì)制作
關(guān)于linkage的loading問(wèn)題
Flash Load Movie 的教程
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門(mén)搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶(hù)體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開(kāi)啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買(mǎi)真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛(ài)的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開(kāi)發(fā)項(xiàng)目
Illustrator中制作針線(xiàn)縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁(yè) 首頁(yè) 前頁(yè) 后頁(yè) 尾頁(yè) 頁(yè)次:2/3頁(yè) 1個(gè)記錄/頁(yè) 轉(zhuǎn)到 頁(yè) 共3個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來(lái)自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來(lái)自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫(huà),設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶(hù)名:  口令:
說(shuō)明:輸入正確的用戶(hù)名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專(zhuān)業(yè)書(shū)推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫(xiě)給大家看的色彩書(shū)1》
《跟我去香港》
眾妙之門(mén)—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開(kāi)發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開(kāi)發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2