Time of Update: 2017-01-19
1、 傳遞參數時需要使用encodeURIComponent,這樣組合的url才不會被#等特殊字元截斷。 例如:<script language="javascript">document.write('<a
Time of Update: 2017-01-19
看到這個題,我蒙了,因為那時候我不清除這個問題,想了半天沒想出來,後來到網上一查,在國外的某網站查到說setInterval和setTimeout之後的函數的範圍是全域的,也就是裡面的this指向的是全域對象. 這個問題可麻煩了,我經常要在迴圈函數裡用this來引用當前對象,也許你想到可以用閉包,不過實際情況並非如此簡單,對象執行個體多了之後,閉包也亂套了. 我的願望就是讓迴圈函數裡的this仍然指向當前內容相關的對象,無需傳參數,無需閉包(其實這也是閉包,只是形式上看著比較自然而已); 例如:
Time of Update: 2017-01-19
先定義進度條顯示層: 複製代碼 代碼如下: <div><span class="intro">下載進度:</span> <div class="barborder"> <div class="bar" id="loadpercent"></div> </div> </div> 定義廣告層: 複製代碼 代碼如下: <div id="showAD"></div>
Time of Update: 2017-01-19
在這裡提出的事件,當他們發生在一個確定的HTML元素上的時候,他們的名字能夠被大多數的瀏覽器所識別。也就是說,瀏覽器會尋找你為這個HTML元素所註冊的事件處理常式的指令碼,而且會被立即執行。 一開始只有為數很少的一些事件。這些事件在幾乎所有的JavaScript瀏覽器都能運行,即使是那些非常古老的。需要注意的是那些早期的事件只能工作在連結或者表單上,有時候也能運行在整個視窗上,但是其他的大多數HTML元素不行。 &
Time of Update: 2017-01-19
沒有event就沒有指令碼。可以看看任何有JavaScript代碼的網頁:幾乎所有的例子都有一個事件觸發了指令碼。原因非常簡單。JavaScript就是給你的頁面添加內部活動:使用者做一些事情然後頁面做出回應。 因此JavaScript就需要一個方法能夠檢測到使用者的動作然後才能知道什麼時候做出反應。這還需要知道那個函數會被執行,函數會做一些你認為的給你的網頁增色的動作。這些文字描述了如何去寫這樣的指令碼。雖然不容易,但是這是一個很讓人滿足的工作。
Time of Update: 2017-01-19
HTML 複製代碼 代碼如下: <input type="password" name="psw" id="loginpsw" onkeypress="submit1(event)"/> Javascript 複製代碼 代碼如下: function submit1(e){ var isie = (document.all) ? true : false;//判斷是IE核心還是Mozilla var key; if (isie) key = window.event.keyCode;
Time of Update: 2017-01-19
從那起,我已經對這些方法做了大量的研究,並且已經在很多場合使用他們。在很多任務中,他們被證明是非常有用的(特別關於結構的抽象 DOM 選取器)。 1、DOMElement.contains(DOMNode) 這個方法起先用在 IE ,用來確定 DOM Node 是否包含在另一個 DOM Element 中。 當嘗試最佳化 CSS 選取器遍曆(像:“#id1 #id2”),這個方法很有用。你可以通過 getElementById 得到元素,然後使用 .contains() 確定 #id1
Time of Update: 2017-01-19
code如下: 複製代碼 代碼如下: /*! *author:sohighthesky *blog:http://www.cnblogs.com/sohighthesky *date:2010-2-4 */ var zooming=function(e){ e=window.event ||e; var o=this,data=e.wheelDelta || e.detail*40,zoom,size; if(!+'\v1'){ zoom = parseInt(o.style.zoom) ||
Time of Update: 2017-01-19
click() 對象.click() 使對象被點擊。 closed 對象.closed 對象視窗是否已關閉true/false clearTimeout(對象) 清除已設定的setTimeout對象 clearInterval(對象) 清除已設定的setInterval對象 confirm("提示資訊") 彈出確認框,確定返回true取消返回false cursor:樣式 更改滑鼠樣式 hand crosshair text wait help default auto
Time of Update: 2017-01-19
JavaScript的重載函數,一般是靠對arguments判斷來操作的。 比如: 複製代碼 代碼如下: var afunc = function() { args = arguments; if(args.length == 1) { console.log(1); }else if(args.length == 2) { console.log(2); }else if (args.length == 3) { console.log(3); } }
Time of Update: 2017-01-19
關於在ASP(Server.UrlEncode)、PHP(urlencode())函數編碼結果,或是經過asp、php等動態語言直接寫入COOKIES的中文字元,用JS讀取的時候,都會碰到一個編碼的問題,那就是最終字串被urlencode編碼了,而又時有需要從JS在用戶端去讀取這些資料。而本文,就大概說說如何在js中通過系統內建的函數去解決這個問題。
Time of Update: 2017-01-19
舉個例子 複製代碼 代碼如下: var flower= function(){ var t=0,i=0; for(;i<5000000;i++){ t++; } return t; } flower 返回t的值 假設這個函數需要花費 2-3秒 。 通過 Memoization 函數,再次尋找相同的值時,直接擷取事先緩衝好的 value,立刻返回; Memoization 函數 複製代碼 代碼如下: var Memoize = function(fn, cache, refetch,
Time of Update: 2017-01-19
指令碼可以放在html頁面的head裡面,也可以放在body裡面。 把指令碼放在body中,當瀏覽器遇見<script>標籤時, 瀏覽器不知道指令碼會插入文本還是html標籤,因此瀏覽器會停止分析html頁面而去執行指令碼。當使用src的方式添加指令碼時,瀏覽器也會做同樣的動作。在指令碼處理的時候,頁面呈現和使用者互動將被完全阻止。指令碼下載和執行阻塞了其他資源的下載,比如呈現頁面使用的圖片。(雖然很多瀏覽器實現了指令碼並行下載的技術,但是這個問題依然沒有解決) 指令碼的位置
Time of Update: 2017-01-19
Notify & Capture 要實現 notify 和 capture 就太容易了,我們只需要把 capture 傳入的 handler 都儲存下來,然後在 notify 裡面找到匹配的 handler 就可以了。 複製代碼 代碼如下: var filterHandlerBundles = []; Dispatch.capture = function(pattern, handler) { var filter = createFilter(pattern);
Time of Update: 2017-01-19
模式類型:原廠模式 模式說明:常用模式之一,用來動態建立對象 適用範圍:在運行期間需要在一系列可互換的子類中進行選擇的類 注意事項:介面的實現,從而使不同子類可以被同等的對待,恰當的使用原廠模式,但不要拘泥與形式,理解本質。 關鍵點:以 函數/類/子類 構建的選取器 本質:函數作為選取器的使用 一般使用形式: 作為獨立的選取器存在: 複製代碼 代碼如下: function FactoryMode(index){ switch(index){ case "index1" : return new
Time of Update: 2017-01-19
下面這篇是國外的一篇文章。http://www.jb51.net/article/20553.htm複製代碼 代碼如下:var sel = new Object(); var sel_num = 0; function getCookieVal(offset) { var endstr = document.cookie.indexOf(";", offset); if (endstr == -1) endstr = document.cookie.length; return
Time of Update: 2017-01-19
當時考慮有三種方法: 1.直接把路徑寫在js檔案裡,但如果引用頁面路徑層級改變就沒轍了。 2.寫個class,放在主題包裡的css檔案或者單獨建立一個css檔案給日期控制項專用。但是控制項中的其他元素並沒有使用class的需要,單獨建立相應css文檔似乎小題大做。 3.把以上兩個方法排除後,自然要採用動態載入圖片路徑的方法咯。 關鍵代碼如下: 複製代碼 代碼如下: //建立一個全域變數儲存路徑 var imgRootUrl = ""; //擷取圖片路徑所在目錄 var
Time of Update: 2017-01-19
系列簡介 也許,三百年前的艾薩克·牛頓爵士(Sir Issac Newton, 1643-1727)並沒幻想過,物理學廣泛地應用在今天許多遊戲、動畫中。為什麼在這些應用中要使用物理學?筆者認為,自我們出生以來,一直感受著物理世界的規律,意識到物體在這世界是如何"正常移動",例如射球時球為拋物線(自旋的球可能會做成弧線球) 、石子系在一根線的末端會以固定頻率擺動等等。要讓遊戲或動畫中的物體有真實感,其移動方式就要符合我們對"正常移動"的預期。 今天的遊戲動畫應用了多種物理類比技術,例如運動學類比(
Time of Update: 2017-01-19
剛寫完,歡迎大家幫忙測試 完整的測試代碼: 進階目錄,檔案名稱排序 進階目錄,檔案名稱排序 主要實現了目錄中的數字按大小排序 排序結果: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]主要的排序功能源碼如下(v1): 複製代碼 代碼如下: var fileSort=function(arr){ arr.sort(); var res=[],temp=[],i=0,j=0,k,reg,sc=true,cur=arr[0];
Time of Update: 2017-01-19
因為是html格式的內容,直接截取內容的前多少字元顯然不合適了。而如果直接去掉所有html格式然後再截取又無法達到想要的效果,再網上搜了一通之後,寫下如下代碼應該可以滿足基本的要求了。(js寫的,因為容易調試) 複製代碼 代碼如下: var br = {}; br.spTags = ["img","br","hr"];/*不需要成對出現的標記*/ br.contain = function(arr,it){ for(var i=0,len=arr.length;i<len;i++){