2014年3月11日 星期二

RIA是什麼?

Rich Internet Application是一種在網際網路上運行的應用程式,有著如同桌面應用程式的行為、功能、快速回應、直覺與體驗,也融合了網際網路應用程式的容易開發的與低成本的特性。RIA結合桌面應用程式與網路的優點。(Macromedia, 2003)

Q:RIA和Flash網站有什麼不同?
A:Flash網站與RIA的最大差異在於RIA能夠操作資料並與之互動,而傳統的Flash網站僅止於視覺化的呈現。(McMullin, J. & Skinner, G., 2003)
Q:RIA有什麼好處?
A:
對企業的好處:
提高交易量
應用更夠更快的上線
降低應用開發與維護成本
對資訊部門的好處:
降低基礎設施建置成本
提昇開發效率
支援工業標準
對使用者的好處:
互動而即時的體驗能夠降低使用者挫折
降低新手的學習曲線
單一畫面的使用者介面能夠節省時間
(Macromedia, 2003)

2014年3月10日 星期一

Team Foundation Server 之初始化設定


微軟的Team Foundation Server(以下簡稱TFS)是個非常好用的版本控管系統. 但是相對的. 設定上也很複雜. 在很容易地安裝步驟之後. Server端跟Client端都提供很多細膩的設定. 在觀念上跟預期的有所不同. 在Server端可以建立 [ 專案集合 ]. 但是要建立專案必須從Client端的Visual Studio 201X(以下簡稱VS)當中連上之後來建立專案.(備註一). 而建立專案之後就可以設定工作區來設定本地端跟Server端的對應關係. 有時候Server端會有多個階層. 在對應關係當中就要選擇好.要從正確的階層. 不然有可能會從最高層對應到本地端. 會造成本地端多了幾層目錄. 這樣在某些限定絕對路徑的專案就無法正確的執行了. 所以要懂得如何設定路徑對應關係就變得很重要. 這部分請參考 詳細說明.














那麼怎麼讓Client端透過VS連到TFS呢?請在該TFS上建立系統使用者. 並且設定密碼(請該使用者過來設定他在Client端的使用者密碼. 兩者要一致). 然後在專案集合中將該使用者加入正確的權限群組即可.


































備註一 :


在建立專案的時候必須注意到版本的問題.若Team Foundation Server大於VS的版本. 就會發生權限不足的情況而無法建立專案. 此時的解法是去下載跟Server相同版本的Team Explorer for Microsoft Visual Studio. 版本相同才能連接到TFS去建立專案.

2013年12月25日 星期三

什麼是響應式設計?


拜行動裝置上網普及,因此目前 Responsive Web Design 響應式設計 這個 Web 設計方式很熱門,而要做到這個設計,必須要先認識CSS3 Media Queries,這個可以讓你根據裝置或瀏覽器的長寬不同,而可以有不同的CSS呈現,比方,當夠寬的時候,會呈現三個Column(不是真的欄,是排版的欄)。縮小的時候,可能剩下兩個或甚至一個,而原本有橫向的多個選項,也可能被合併成一個按鈕或LIST,點了才會展開,......等等


所以,什麼是響應式設計呢?就是會彈性的根據你裝置的尺寸不同,呈現不同的外觀,相同的內容,並讓使用者在最適當的、最少需要用手指放大滑動的一種設計概念。

2013年11月14日 星期四

JS的Timer

JS給了網頁兩種Timer,其實是一樣的東西,只是用法跟行為有一點點不同罷了


setInterval()跟一般常見的Timer沒有太大的差異,就是持續的間隔一段時間就執行一段程式(一個函式)
setTimeOut()則是隔一段時間之後,一段程式(一個函式)會被執行一次,就這麼一次。




先介紹setInterval()吧,常用兩種呼叫型態,一個是就直接把要做的程式,寫在參數裡function()中,通常要做的事情應該不多才會這樣寫吧,不然不美觀啊。底下的範例,就是每三秒鐘執行一次alert。


var MyTimer = setInterval(function(){alert("Hello")},3000);

另外一個,則是先把函式寫好然後以函式呼叫當成參數。比方底下的例子就是每五秒呼叫一次 doSomething()看裡面要做什麼事情。



var MyTimer = setInterval( "doSomething()", 5000 );


function doSomething ( )

{
  // (do something here)

}


怎麼清除或停掉這個Timer呢?很簡單,就是 clearInterval( MyTimer );對,就在剛剛你疑惑的地方,呼叫函式其實setInterval()其實會傳回一個 Timer物件(或ID)就是用來當你想清除或停掉他的時候用的。






相同的寫法,可應用在setTimeOut()上,非常的簡單。我就不重複寫了

2013年11月6日 星期三

更改 JQuery UI Dialog 的標題 Title (在已經 Create 了之後)

第一時間想到的是更改該 Div 的 Title 屬性,但是,不是這樣用的,也就是說


<div class = "Div_Message" title = "我是訊息對話框" >

</div>

這個對話框在經過以下建立過程之後

$( '.Div_Message' ).dialog( 
{
autoOpen: false,
resizable: false,
width:500,
height:300,
modal: true
         } );

被$('.Div_Message').dialog( 'open' );把視窗叫出來之前
即便用了$( '.Div_Message' ).prop( "title",  "我把訊息改掉" );也沒有用



因為語法不是這樣用的
被$('.Div_Message').dialog( 'open' );把視窗叫出來之前
應該要$('.Div_Message').dialog('option', 'title', '我把訊息改掉'); 才對


2
3
4
5
// getter
var title = $( ".selector" ).dialog( "option", "title" );
// setter
$( ".selector" ).dialog( "option", "title", "Dialog Title" );

網頁的ComboBox的使用方式

基本上,已經有人寫了非常完整又圖文並茂的介紹了,我就不用再贅述了,請看下拉選單ComboBox詳細介紹文但是怕那天原文刪除,或其他因素,所以我還是會在底下稍微的更簡單的說明一下語法。


1.怎麼做出下拉選單,如下利用HTML語法,可做出三個選項的下拉選單:

 <select id = "ComboBxMonth" >
       <option value = "1" >1月份</option>
       <option value = "2" selected = true >2月份</option>
       <option value = "3" >3月份</option>
 </select>
           

2.下拉選單如何設定預選項目到某一個選項,以及怎麼讓某個項目看得到但是不能選?如下,就會讓1月份無法被選,以及預設選擇2月份:

 <select id = "ComboBxMonth" >
       <option value = "1" disabled="disabled" >1月份</option>
       <option value = "2" selected = "true">2月份</option>
       <option value = "3" >3月份</option>
 </select>
           

3.選取目前下拉選單的選取值,或選項文字:

$('#ComboBxMonth option:selected').val();                                      // 取得數值

$('#ComboBxMonth option:selected').text();                                    // 取得文字


4.指定或取得目前下拉選單元件選到第幾個選項:

$('#ComboBxMonth option:[index=3]').attr('selected', true);      // 設定
$('#ComboBxMonth option:selected').index();                                // 取得


5.增加一個選項:(第一種寫法的JQuery Selector目前還看不懂)
$('#ComboBxMonth).append( $('<option></option>').val('9').text('Test') );

$('#ComboBxMonth).append( '<option value = "9" >Test</option>' );


6.增加一個選項到特定位置:
$('#ComboBxMonth option:eq(2) ).after( $('<option></option>').val('9').text('Test') );

$('#ComboBxMonth option:eq(2) ).after( '<option value = "9" >Test</option>' );


7.如果有某個資料跟下拉選單相符合,則把元件選到該選項:
$('#ComboBxMonth option[ value = ' + "2月份" + ']' ).prop( "selected", "true" );

紅色的部分,非常容易寫錯,因為夾雜了變數進去串



8.清除所有選項:
$('#ComboBxMonth option').remove();


9.清除第幾個選項:
$('#ComboBxMonth option:eq(2)').remove();


10.清除特定Value的那個選項:
$('#ComboBxMonth option[ value = 2 ]').remove();


11.想清除符合某個文字的選項?目前找到沒有方便的作法....



2013年10月18日 星期五

網頁上要透過JS取得物件的left或top,請先讓他出現在畫面上

如果該物件(比方div、img、h4)的狀態是被hide起來,並沒有顯示在畫面上
那麼透過JQuery去取得該物件的位置,比方$(this).position().left將會得到0
你一定要先讓物件show()在畫面上,才能去取得或設定他的位置。