Time of Update: 2017-01-19
看到這個題,我蒙了,因為那時候我不清除這個問題,想了半天沒想出來,後來到網上一查,在國外的某網站查到說setInterval和setTimeout之後的函數的範圍是全域的,也就是裡面的this指向的是全域對象. 這個問題可麻煩了,我經常要在迴圈函數裡用this來引用當前對象,也許你想到可以用閉包,不過實際情況並非如此簡單,對象執行個體多了之後,閉包也亂套了. 我的願望就是讓迴圈函數裡的this仍然指向當前內容相關的對象,無需傳參數,無需閉包(其實這也是閉包,只是形式上看著比較自然而已); 例如:
Time of Update: 2017-01-19
你必須做出決定以這兩種方法中的哪一種來寫你的JavaScript,為了協助您作出明智的決定哪個更適合你,我們將對比一下這兩種方法的一些優劣。
Time of Update: 2017-01-19
複製代碼 代碼如下: var f1 = function(p1,p2,p3){ switch(arguments.length){ case 0: alert("無參版本的f1")
Time of Update: 2017-01-19
//迴圈隊列 function CircleQueue(size){ this.initQueue(size); } CircleQueue.prototype = { //初始化隊列 initQueue : function(size){ this.size = size; this.list = new Array(); this.capacity = size + 1; this.head = 0; this.tail = 0; }, //壓入隊列 enterQueue :
Time of Update: 2017-01-19
1.如何擷取表單<select>域的選擇部分的文本? <form name="a"> <select name="a" size="1" onchange="_sel(this)"> <option value="a">1</option> <option value="b">2</option> <option value="c">3</option> </select> &
Time of Update: 2017-01-19
有許多理由讓你在頁面中加入拖放的功能,其中最簡單的理由是重新組織資料。舉個例子,你可能希望使用者能夠重組一系列的頁面元素,通過放置一個input或 select組件在各個元素的旁邊來代表它們的順序是一種解決方案,使該組元素可以被拖放是一種替代方案。或者也許你想在網站上擁有一個可以被使用者移動的導航視窗。這些都是使用拖放功能的簡單理由,因為你能夠實現!
Time of Update: 2017-01-19
你可以試著按下滑鼠左鍵,然後拖拽出一個方塊後釋放,看效果 Simple xhtml page [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2017-01-19
所以,越來越多的門戶網站也開始加入評級或投票功能,這裡是9個優秀的JavaScript實現的評級投票外掛程式和教材,方便你二次開發和使用。 jQuery Start RatingPrototype StarboxPrototype Livepipe Control.RatingMootool Rabid RatingFavourite rating with jQuery and AjaxHow to build a star ratings jQuery PluginReddit style
Time of Update: 2017-01-19
還好網上什麼都有,上網找了一個瀏覽器安全色性最佳的函數,經測試相容IE、FireFox、Chrome,並且不會有捲軸誤差問題,存檔下,以備後用 :) 複製代碼 代碼如下:function mousePos(e){ var x,y; var e = e||window.event; return {
Time of Update: 2017-01-19
第1章 精華 JavaScript的特性中有一部分特性帶來的麻煩遠遠超出它們的價值。其中,一些特性是因為規範很不完善,從而可能導致可移植性的問題;一些特性會導致產生難以理解和修改的代碼;一些特性促使My Code風格過於複雜且易於出錯;還有一些特性就是設計錯誤。有時候語言的設計者也會犯錯。 大多數程式設計語言都有精華部分和雞肋部分。我發現如果只使用精華部分而避免使用雞肋的部分,我可以成為一個更好的程式員。畢竟,用糟糕的組件怎麼可能構建出好東西呢?
Time of Update: 2017-01-19
剛整理了一些關於javascript cookies操作的文章,發現這篇文章也不錯,推薦大家一起參考,選擇需要的,不足的地方主要是對路徑的設定,喜歡的朋友可以結合下。複製代碼 代碼如下: <script> function SetCookie(name,value)//兩個參數,一個是cookie的名子,一個是值 { var Days = 30; //此 cookie 將被儲存 30 天 var exp = new Date(); //new Date("December 31, 9
Time of Update: 2017-01-19
沒有event就沒有指令碼。可以看看任何有JavaScript代碼的網頁:幾乎所有的例子都有一個事件觸發了指令碼。原因非常簡單。JavaScript就是給你的頁面添加內部活動:使用者做一些事情然後頁面做出回應。 因此JavaScript就需要一個方法能夠檢測到使用者的動作然後才能知道什麼時候做出反應。這還需要知道那個函數會被執行,函數會做一些你認為的給你的網頁增色的動作。這些文字描述了如何去寫這樣的指令碼。雖然不容易,但是這是一個很讓人滿足的工作。
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
轉換的規則如下: 如果其中一個運算元的類型為 Boolean ,那麼,首先將它轉換為數字類型,false 轉換為 0, true 將轉換為 1。 如果其中一個運算元的類型是字串,另外一個為數字類型,那麼,將字串轉換為數字進行比較。 如果其中一個運算元的類型是字串,另外一個為 object 類型,那麼,將調用對象的 toString 方法之後,比較字串。 如果其中一個運算元的類型是數字類型,另外一個為 object 類型,那麼,將對象轉換為數值後進行數字比較。 以下的規定了一些特殊的比較:
Time of Update: 2017-01-19
1. 判斷表單元素是否存在(一) 複製代碼 代碼如下: if("periodPerMonth" in document.theForm) { return true; } else{ return false; } 2. 判斷頁面元素是否存在 複製代碼 代碼如下: if(document.getElementById("XXX")) { //存在 } 3. 判斷表單元素是否存在(二) 複製代碼 代碼如下: if(document.theForm.periodPerMonth) { //存在
Time of Update: 2017-01-19
Javascript原生的String處理函數顯得很不夠豐富,原生string函數:http://www.jb51.net/w3school/js/jsref_obj_string.htm問題1:是否有只是針對String類型的擴充庫呢?有,不多,不全面.觀點2: JQuery的強大在於DOM操作,因此不希望js string 擴充庫是基於jquery開發的,是否認同?問題3:我們需要什麼樣的string擴充函數?這個問題可以參考其他js庫,以及其他語言的string操作函數Prototype.
Time of Update: 2017-01-19
一、運算子 複製代碼 代碼如下: . [] () 屬性存取及函數調用 delete new typeof + - ! 一元運算子 * / % 乘法,除法,模數 + - 加法/串連,減法 >= <= > < 不等式運算子 === !== 等式運算子 && 邏輯與 || 邏輯或 ?: 三元運算子 二、語句: 1.if語句 複製代碼 代碼如下: var dayOfWeek=0; if(day===6){ } else if(dayOfWeek===0){ } else{ }
Time of Update: 2017-01-19
如題,本文將使用純粹的指令碼JavaScript實現漸層的彈出層,其想法也非常簡單:利用IFrame實現遮蓋,再藉助一個DIV用於展現彈出層的內容,最後再使用其內建函數setInterval()和clearInterval()實現漸層,原理非常簡單,只不過要注意對DOM對象/元素的精確控制。由於代碼比較簡單,在此就不再贅述。以下代碼在IE6+,FF3.5+測試通過。 指令碼Flyout.js: 複製代碼 代碼如下: // JScript File if (navigator.userAgent.
Time of Update: 2017-01-19
比較簡單的,例如:有一地區<div id="newbody" ></div>,現要求刪除其中所有節點。相信很多人會這樣寫: 複製代碼 代碼如下: var divpanel = document.getElementById("newbody"); var controlinfo= divpanel.childNodes; for(var index = 0;index < controlinfo.length ;index++) {
Time of Update: 2017-01-19
例如下面這段代碼 複製代碼 代碼如下: { var temp = "12"; } alert(temp); //輸出 12 如果按照通常的編程經驗,那麼alert函數是不可以訪問到temp變數的,因為它在另外一個塊中,但是在JavaScript中,卻沒有塊範圍的概念,所以這種文法對JS不起作用,但是我們在寫JS程式的時候,尤其是比較大的程式或是程式庫,為了防止命名衝突,又需要一種控制變數範圍的機制,所以這裡介紹一種比較普遍的方式,來實現塊範圍的概念,代碼如下: 複製代碼 代碼如下: