Drag & Drop(拖放) 效果若是應用得當可以讓 UI 操作更直覺簡單,目前最常見的大概就是對項目作排序,或是像購物車將物體從某區塊移到另一區塊。
網路上雖然有很多 Drag & Drop 的範例,但有些過於複雜或是不夠完整,前陣子為了交作業嘗試用 jQuery+jQuery UI 做了一個簡單的 Demo,果然快速、簡潔、流暢,不得不再次向大家推薦 jQuery 啊!
Demo 網址:http://blog.linym.net/demo/jquery/jquery_DragDrop.html

Ajax, 程式筆記, 網頁設計
Drag and Drop, JavaScript, jQuery, UI
Google Map 提供的 API 實在是強大又好用,結合 GPS 很快就可以做出地圖定位的網站,將之前的 Urmap 範例修改了一下,成為 Google Map 地圖定位系統,為了能夠展示所以將座標先寫好讓它自己動態更新,其中按下停止按鈕會畫出所有紀錄點的連線,可做路徑追蹤。
Google Map API 網路上的資源已經相當豐富了,在此就不多敘述,比較特別的是畫折線(polyline)的部份,如果用原始的 GPolyline 方法來畫,大概幾十個點就需要運算很久,甚至導致瀏覽器 crash,所以 API 後來又加入了編碼折線(encodedPolyline)的功能,先將所有的點用特定演算法轉換成一串文字符號,再丟給 GPolyline.fromEncoded 顯示,幾乎是馬上就顯示出來了,差很多喔,而這個編碼演算法也已經有人寫好囉!請看:Encoding polylines for Google Maps
Ajax, Other, 程式筆記
Ajax, API, Google, JavaScript
想要利用 JavaScript 來讀取一個檔案內容,搜尋到的方法很多都是用 ActiveX 物件來達成,這樣缺點就只能 IE Only 了。不過後來發現其實用 Ajax 就可以達成了。
搭配 JQuery 使用:
$.get('content.txt', function(data){
alert(data);
});
這裡透過 Ajax 發出 GET Request 到 content.txt,就會直接將檔案的內容傳回輸出,很簡單吧^^
但是由於 Ajax 考慮到安全性,所以只能作用在同網域底下。如果要讀的檔案是遠端主機上的呢?這時可以利用其他程式當作中間人,例如透過 PHP 去取得不同網域下的檔案。
JS 內容:
$.get('readfile.php', function(data){
alert(data);
});
PHP 內容:
<?php
echo file_get_contents("http://aaa.com.tw/content.txt");
?>
Ajax, Other, 程式筆記
Ajax, JavaScript, PHP, Programming
jQuery 是個不錯的 JavaScript library,可以省略不少繁瑣的細節,且檔案大小又不大,最近都用它來開發網頁。同時也注意到了一些好用的 Plugin,主要是應用在 Ajax 上,有現成又好用的就不用再自己寫囉!
- Validation
可用來做即時欄位驗證
- History
無法回上一頁算是 Ajax 的一項缺點,用這個 plugin 可以做出回上頁的效果
- jEditable
提供就地編輯(Edit In Place)的功能
- ajaxFileUpload
利用隱藏 iframe 達到不換頁上傳檔案
- Ajax File Manager
加強 tinymce 這個線上編輯器,可瀏覽檔案及上傳檔案
- Interface
提供非常大量的動態效果,必試。
- Form
使用 Ajax 送出表單資料
Ajax, 程式筆記
Ajax, JavaScript, jQuery, Web 2.0
在 TiM Club 找到的即時字數統計 JavaScript,應該會用的到,作者為 jaceju。
<script type="text/javascript">
<!--
var iCount = 0;
function changeText(objElement) {
var oTextCount = document.getElementById("txtCount");
var oCount = document.getElementById("hdnCount");
iCount = objElement.value.length;
oTextCount.innerHTML = "" + iCount;
oCount.value = parseInt(iCount);
}
//-->
</script>
顯示部分:
<p>total: <span id="txtCount">0</span> char(s)</p>
<textarea name="txtTest" cols="50" rows="10" id="txtTest" onkeyup="changeText(this);"></textarea>
Ajax, 程式筆記
JavaScript
近期迴響