用javascript模仿ie的自動完成類似自動完成功的表單

最近在寫一個javascript架構,看見網上有不少自動完成功能的表單,所以一時興起,用javascript寫了一個,為自己的架構增點色. 步驟: 1.傳入兩個參數,第一個是你要綁定的表單對象,第二個是你要檢索的數組. 2.動態建立一個div做為你要自動完成的層,設定屬性和事件(我在這裡並沒有設定div的visible和display屬性,而是將它的left設為"-1000px",這樣就移出了瀏覽器之外,達到了隱藏的效果.

javascript 二進位運算技巧解析

1、原碼、反碼、補碼,正數減法轉補碼加法 js 在進行二進位運算時,使用 32 位二進位整數,由於 js 的整數都是有符號數,最高位0表示正數,1表示負數,因此,js 二進位運算中使用的整數表達範圍是 複製代碼 代碼如下:-Math.pow(2,31) ~ Math.pow(2,31)-1 // -2147483648 ~ 2147483647 原碼:最高位 0 表示正,1表示負,其餘 31 位是該數的絕對值(真值的絕對值)的二進位形式 反碼:正數反碼與原碼相同,負數反碼是原碼符號位不變,其餘3

JavaScript prototype屬性深入介紹

每個函數建立時預設帶有一個prototype屬性,其中包含一個constructor屬性,和一個指向Object對象的隱藏屬性__proto__。constructor屬性的值為該函數的對象。在一個函數前面加上new來調用,則會建立一個隱藏串連到該函數prototype成員的新對象(由__proto__屬性來連結),同時函數的this將會被綁定到那個新對象上。 函數總是返回一個值;如果沒有指定傳回值,就返回undefined;如果當做建構函式來調用,且傳回值不是對象,則返回this(該新對象);

JavaScript中的勻速運動和變速(緩衝)運動詳細介紹

一個div的運動其實就是它與瀏覽器邊框的距離在變動。如果他變化的速率一定,那就是勻速運動;如果變化的速率不一定,那麼就是變速運動。當,變動率與聚離瀏覽器邊框的距離成比例的話,那麼就可以說是div在做緩衝運動。 其實,很簡單,就是用一個定時器(timer),每隔一段時間來改變div聚瀏覽器邊框的距離。 比如勻速運動: 進入定時器:(每隔30ms做) if(是否到達終點) { 停止定時器} else do{ 改變距離} 改變距離的方法決定是勻速還是變速(緩衝)運動。 勻速的比如: 複製代碼

javascript繼承之為什麼要繼承

Quiz1 Javascript真的需要類(Class)嗎? 我們首先先看下其他有類(Class)的物件導向語言(如:Java)的一些特性。 父類與子類 父類(Superclass)和子類(Subclass),並不是為瞭解決父親與兒子的問題,而是為瞭解決類的內含項目關聯性的,我們用Sub表示“子類”,用Sup表示“父類”,則有:   Sub Sup 這是有區別的,例如通常我們能夠將子類當成父類來使用,但認人的時候我們並不能把兒子當成父親。

Javascript繼承(上)——對象構建介紹

Javascript中存在“類”嗎? 萬物皆對象 Javascript中除了基本資料(Undefined、Null、Boolean、Number、String),其他都是對象(Object)。 實際上,Javascript中的對象是資料與功能的集合。例如我們知道: 複製代碼 代碼如下:var foo = new Function("alert('hello world!')"); foo();可見foo是一個函數,也是一種對象。再比如說: 複製代碼 代碼如下:function foo(){ //

JS判斷瀏覽器類型與版本的實現代碼

在眾多的瀏覽器產品中,IE、Firefox、Opera、Safari........眾多品牌卻標準不一,因此時常需要根據不同的瀏覽器,甚至相同瀏覽器不同版本做不同的操作,因此,知曉瀏覽器的判斷方法,還是很重要的。下面列舉一下常用的判斷方法 1、判斷瀏覽器是否為IE document.all ? 'IE' : 'others':在IE下document.all值為1,而其他瀏覽器下的值為0; navigator.userAgent.indexOf("MSIE")>0 ? 'IE' :

javascript動態載入二

在上一篇javascript動態載入中,提到了使用同步載入策略這一個方式來實現如 複製代碼 代碼如下:Using("jquery"); Using("User"); $("#ID").click(function(){ var user = new User(); user.name = "xx"; user.show(); }); 由於JS是單線程的,所以同步策略帶來的壞處不少,比如阻止之後的代碼運行、造成瀏覽器假死等問題。 使用非同步策略又難以實現先導包

別了 JavaScript中的isXX系列

複製代碼 代碼如下:isNull: function(a){ return a === null; }, isUndefined: function(a){ return a === undefined; }, isNumber: function(a){ return typeof a === 'number'; }, isString: function(a){ return typeof a === 'string'; }, isBoolean: function(a){ return

關於JavaScript中原型繼承中的一點思考

我們先看一段傳統的繼承代碼: 複製代碼 代碼如下://定義超類 function Father(){ this.name = "父親"; } Father.prototype.theSuperValue = ["NO1","NO2"]; //定義子類 function Child(){ } //實現繼承 Child.prototype = new Father(); //修改共用數組 Child.prototype.theSuperValue.push("修改"); //建立子類執行個體

淺談javascript的原型繼承

請看源碼: 複製代碼 代碼如下:function clone(o) { var F = function(){}; F.prototype = o; return new F(); } 首先看ext(4.1的1896行開始)的原型式繼承。 複製代碼 代碼如下:var TemplateClass = function(){}; var ExtObject = Ext.Object = { chain: function (object) { TemplateClass.prototype =

13 個JavaScript 效能提升技巧分享

Daniel Clifford 在 Google I/O 2012 上做了一個精彩的演講“Breaking the JavaScript Speed Limit with V8”。在演講中,他深入解釋了13個簡單的代碼最佳化方法,可以讓你的代碼在 Chrome 的 V8 JavaScript 引擎編譯/運行你的 JavaScript 代碼更加快速。在演講中,他解釋了怎麼最佳化,並且解釋了原因。下面簡明的列出了最佳化的要點:   1. 在建構函式中初始化所有的對象   2.

JavaScript中的物件導向介紹

對象 建立 對象 建構函式 公有、私人、特權、靜態成員 this、call和apply 異常處理 繼承 原型 對象 在JavaScript,可以說everything is object,那麼什麼是對象?對象就是包含一組變數和函數的集合。在其它物件導向語言中對象是由類的執行個體化而來,JavaScript是基於原型的物件導向語言,沒有類的概念,對象派生自現有對象的副本。JavaScript中對象可以分為兩類:Function和Object。 建立對象

JavaScript Scoping and Hoisting 翻譯

你知道下面的JavaScript代碼執行後會alert出什麼值嗎? 複製代碼 代碼如下:var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); 如果答案是"10"令你感到驚訝的話,那麼下面這個會讓你更加困惑: [/code] var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a); [/code]

javascript學習筆記(八) js內建對象

1.URI方法 encodeURI()和encodeURIComponent()對URI進行編碼 encodeURI()不會對本身屬於URI的特殊字元進行編碼,如冒號,正斜杠,問好,井字等 encodeURIComponent()會對任何非標準字元進行編碼 2.eval() 方法:解釋參數中的代碼字串 複製代碼 代碼如下:var msg = "hello world"; eval("alert(msg)"); //"hello world" 3.Math 對象 Math.E 數學中的e的值

javascript學習筆記(十五) js間歇調用和逾時調用

1.逾時調用setTimeout() setTimeout() 方法接受兩個參數,第一個參數是函數,第二個參數是時間(單位微秒),返回數值ID 複製代碼 代碼如下:setTimeout( function () { alert("你好!"); },1000); 調用前取消clearTimeout(),接受一個參數逾時調用ID 複製代碼 代碼如下:var timeOutId = setTimeout( function () { alert("你好!"); },1000);

javascript學習筆記(十一) Regex介紹

1.修飾符 . 任意一個字元 * 匹配*前面0個或多個字元 + 匹配+前面一個或多個字元 ? 匹配?前面0個或1個字元 ^ 以^後面的字元為前置 $ 以$前面的字元結尾 [] 匹配[]內的一個字元 () 分組,可以用\1 \2提取 [^] 匹配^後的以外的字元 {n} {n}前的字元有n個,n為正數 {n,} {n,}前的字元至少有n個,n為正數 {n,m} {n,m}前的字元有n~m個,n,m為正數 2.字元 \d 一個數字 \D 一個非數字 \w 一個字母或數字 \W 一個非字母和非數字 \

javascript學習筆記(十九) 節點的操作實現代碼

本節要用到的html例子 複製代碼 代碼如下:<ul id="myList"> <li>項目一</li> <li>項目二</li> <li>項目三</li> </ul> 1.建立元素節點 document.createElement() 方法 用於建立元素,接受一個參數,即要建立元素的標籤名,返回建立的元素節點 複製代碼 代碼如下:var div =

javascript學習筆記(四) Number 數字類型

toFixed() 方法指定小數位個數 toExponential() 方法 用科學計數法表示數,參數指定小數位個數 toPrecision() 方法自動判斷調用toFixed()或toExponential()方法,參數指定所有數的位元 複製代碼 代碼如下:var num = 99; alert(toFixed(2)); //99.00 alert(toExponential(1)); //9.0e+1 alert(toPrecision(1)); //9.0e+1

javascript學習筆記(十七) 檢測瀏覽器外掛程式代碼

複製代碼 代碼如下://檢測非IE瀏覽器外掛程式函數 function hasPlugin(name) { name = name.toLowerCase(); for (var i=0 ; i < navigator.plugins.length ; i++ ) { if (navigator.plugins[i].name.toLowerCase().indexOf(name) >-1) { return true; } } return false; }

總頁數: 3271 1 .... 258 259 260 261 262 .... 3271 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.