公告版位
目前分類:AJAX、JavaScript (7)
- Feb 23 Wed 2011 19:25
jquery ui autocomplete
- Apr 13 Tue 2010 15:44
第 10 章 setTimeout( )
這是剛剛在網路上找到的,因為最近在開發的系統中,需要利用時間差,分別啟動不同的功能。
又一時忘了這個setTimeout的function怎麼用,就Google了一下!
剛好看到這一篇,描述的還滿詳細的,剛好可以讓自己複習一下,以下是原文的網址和轉載的內容:
http://www.takka.com.hk/jstutor/ch10/ch10.htm
10.1 setTimeout( )
1. setTimeout( ) 語法例子
2. 用 setTimeout() 來執行 function
3. 不斷重複執行的 setTimeout( )
4. 設定條件使 setTimeout( ) 停止
5. 計分及計秒的 counter
10.2 clearTimeout( )
10.3 Set flag
10.1 setTimeout( )
setTimeout( ) 是屬於 window 的 method, 但我們都是略去 window 這頂層物件名稱, 這是用來設定一個時間, 時間到了, 就會執行一個指定的 method。請先看以下一個簡單, 這是沒有實際用途的例子, 只是用來示範 setTimeout( ) 的語法。
1. setTimeout( ) 語法例子
練習-69 等候三秒才執行的 alert( )
在 第 3 章 說到 alert 對話盒, 一般是用按鈕叫出來, 在這練習, 你會看到網頁開啟後 3 秒, 就會自動出現一個 alert 對話盒。
1. 請用瀏覽器開啟示範磁碟中的 timeout1.htm, 這檔案有以下內容:
<html> <body bgcolor=lightcyan text=red>
- Apr 05 Mon 2010 21:58
AJAX、JavaScript開發經驗分享:GrabDragDropClass,用來拖曳物件的JavaScript 類別物件
這是我在開發AJAX應用程式時,所使用的設定物件在Browser上可以被拖曳的類別物件!
呼叫範例:
※JavaScript程式
var target_name = "display.SelectDate.layer";
var trigger_name = "display.SelectDate.title";
- Apr 03 Sat 2010 13:27
AJAX、JavaScript分享:Browser如何取得滑鼠位置的相關function
當我們需要從Browser端,取得目前滑鼠位置座標的時候,透過下面的JavaScript function,即可達到我們想要的效果,在這邊分享給大家!
以下的程式碼已經做過相容性測試,確定可以跑在IE, FireFox, Chrom, Safari上面。程式會自動去偵測你所使用的Browser版本,自動使用對應的方式取得滑鼠座標!
※以下是原始碼:
1: _sys_userAgent = navigator.userAgent;
2: _sys_browser = "";
3:
4: if (chk_browser("Safari"))
5: _sys_browser = "Safari";
6: else if (chk_browser("Firefox"))
7: _sys_browser = "Firefox";
8: else if (chk_browser("MSIE 7"))
9: _sys_browser = "MSIE7";
10: else if (chk_browser("MSIE 6"))
11: _sys_browser = "MSIE6";
12: else
13: _sys_browser = "Others";
14:
15: if (chk_browser("Firefox"))
16: document.onmousemove = FF_mouse_point;
17:
18: function chk_browser(str)
19: {
20: if (_sys_userAgent.toUpperCase().indexOf(str.toUpperCase()) != -1)
21: return (true);
22: else
23: return (false);
24: }
25:
26: function FF_mouse_point(_event)
27: {
28: if (chk_browser("Firefox"))
29: {
30: try
31: {
32: MOUSE_X = _event.clientX
33: + document.body.scrollLeft
34: + document.documentElement.scrollLeft;
35:
36: MOUSE_Y = _event.clientY
37: + document.body.scrollTop
38: + document.documentElement.scrollTop;
39: }
40: catch (e)
41: {
42: window.status = e.Message + " (" + MOUSE_X + ", " + MOUSE_Y + ")";
43: return (false);
44: }
45: }
46: }
47:
48: function get_mouse_point()
49: {
50: var point = new Array();
51: var e = window.event;
52:
53: if (chk_browser("Firefox"))
54: {
55: point.push(MOUSE_X);
56: point.push(MOUSE_Y);
57: return (point);
58: }
59:
60: if (e)
61: {
62: if (e.pageX || e.pageY)
63: {
64: point.push(e.pageX);
65: point.push(e.pageY);
66: }
67: else if (e.clientX || e.clientY)
68: {
69: point.push(e.clientX
70: + document.body.scrollLeft
71: + document.documentElement.scrollLeft
72: );
73: point.push(e.clientY
74: + document.body.scrollTop
75: + document.documentElement.scrollTop
76: );
77: }
78: }
79:
80: if (point[0] < 10)
81: point[0] = 10;
82:
83: if (point[1] < 10)
84: point[1] = 10;
85:
86: return (point);
87: }
- Mar 30 Tue 2010 11:56
AJAX、JavaScript分享:OpenFrame,這支JavaScript function是延續之前OpenWindow2的呼叫方式,改成使用 iframe 透過 POST 傳值
之前寫了一支OpenWindow2的JavaScript function,讓我們可以方便在開啟新視窗的時候透過POST傳值,避免參數在URL中因為長度太長被截斷的問題!
之後開發過程當中,遇到需要背景傳遞資料出去,但是不希望開啟新視窗,於是用OpenWindow2相同的傳值邏輯,開發一個是呼叫iframe的。
關鍵就在這幾行:
var iframe = null;
var iDoc = null;
iframe = $(str_name);
- Mar 21 Sun 2010 23:35
JavaScript:這個太好用了,OpenWindow的時候,直接透過 POST傳值
我們常常透過OpenWindow的方式在瀏覽器上另外開一個視窗,然後透過這視窗另外處理某些功能。但是都只能夠過 HTTP GET的方式傳值,萬一你傳的資料太大,就會造成資料截斷的問題,變成傳值不完整!上Google查了一下,發現原來有這個小技巧可以使用,讓OpenWindow也可以透過POST傳值,這真是太好用了!
它的原理也很簡單,只是透過JavaScript字串去產生一個暫時的FORM,把你的參數用TextArea塞值,然後串起來之後,最後加上一段JavaScript自動送出這個表單。這樣就可以讓你的另外一支程式可以完整的接收傳遞的參數值,非常好用,分享看大家參考!
function OpenWindow2(str_url, str_name, str_width, str_height, dt_param)
{
var oWin = null;
- Dec 01 Tue 2009 17:20
Browser端的DataTable
在.NET上,我們已經相當習慣使用DataTable這樣的物件來處理大量資料。Browser端呢?
在開發AJAX Web應用程式的時候,我們常常會需要再Browser端處理由Web端拋轉過來的多筆資料,也因為這樣的需求,我就直接在Browser用JavaScript實作出一個DataTable物件。來協助我處理Browser端的多筆資料。
這個概念其實很簡單,就是利用二維的字串陣列來當作DataTable的Browser端記憶體儲存區。而JavaScript的陣列物件其實還滿好用的。
例如:
DataRow = new Array();