Time of Update: 2017-01-19
也就是說,移到對象的子物件上,也算onmouseout了。但這往往會達不到我們想要的預期效果。這是由於javascript自身的冒泡特性導致的(即在子項目上觸發了事件,並冒泡到了父元素-堆棧後進先出演算法)。今天在網上搜了一下,找了以下的解決辦法(相容IE和Firefox)。 在IE下解決問題很簡單,用onMouseEnter、onMouseLeave來代替onMouseOver、onMouseOut就行了,他們的作用基本相同,但前者不會發生冒泡(如果用
Time of Update: 2017-01-19
我們調用它的寫法是<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>。它能夠返回使用者IP和地址,例如:var IPData = new Array("220.181.108.85","","北京市",""); 我們便可以使用IPData[0]作為使用者IP了。 但是最近不知道騰訊怎麼回事,這個地址失效了,提示“HTTP 500 內部伺服器錯誤”。
Time of Update: 2017-01-19
這個時候,出現了encodeURIComponent、decodeURIComponent,它可以完全的對URL進行編碼解碼,但是遇到例如搜尋引擎用到的部分轉碼,又摸不到門了,沒問題,PHP官方出了一個解決方案: 複製代碼 代碼如下: decodeURIComponent((str + '').replace(/\+/g, '%20')); 他可以完美的對搜尋引擎的地址進行解碼,因為搜尋引擎只習慣對”空格“進行轉碼。忘了說還習慣對中文進行轉碼。。。
Time of Update: 2017-01-19
演算法根源: 大致是這樣車輛識別代碼的第9位是檢驗位,檢驗位可用0—9中任一數字或字母“X”表示。其它位置的數字和字母代表的意義個廠家含義可能不同,但在VIN碼的其他16位字碼確定後,按以下方法計算得出第九位的檢驗位。 首先將其它16位中的字母按下列關係轉換成數字: A=1 B=2 C=3 D=4 E=5 F=6 G=7 H=8 J=1 K=2 L=3 M=4 N=5 P=7 R=9 S=2 T=3 U=4 V=5 W=6 X=7 Y=8 Z=9 每個位置都有個加權數: 位置:1 2 3 4 5
Time of Update: 2017-01-19
JavaScript面試題要求:以下題目必須從一至四題中,選出三道題,使用原生代碼實現,不可使 用任何架構,第五題為選作題。 一、 在頁面的固定地區內實現圖片的展示 1. 每點擊一次右箭頭,圖片地區向左滾動出一張圖片,反之相同; 2. 當發現圖片滾動到末尾時,響應的箭頭變成不可點擊狀態; 3. 滑鼠在圖片地區內滑動滾輪,圖片會隨著滑鼠滾輪的方向進行響應的滾動; 二、 用 js、html、css實現一個彈出提示控制項: 1. 分別實作類別似於系統的
Time of Update: 2017-01-19
第一個階段: 複製代碼 代碼如下: function A(){ this.funB = function(){ alert('A:funB'); }; } A.prototype = { funA:function(){ alert('A:funA'); } }; function B(){ } function extend(sub,parent){ sub.prototype = new parent(); sub.prototype.constructor = sub; } extend(
Time of Update: 2017-01-19
1. 大多數遊覽器的組件構成如圖 在最底層的三個組件分別是網路,UI後端和js解譯器。作用如下: (1)網路- 用來完成網路調用,例如http請求,它具有平台無關的介面,可以在不同平台上工作 (2)UI 後端- 用來繪製類似組合選擇框及對話方塊等基本組件,具有不特定於某個平台的通用介面,底層使用作業系統的使用者介面 (3)JS解譯器- 用來解釋執行JS代碼 ps:上圖和知識點主要來自《HOW BROWSERS WORK: BEHIND
Time of Update: 2017-01-19
console.log(); 當你使用console.log()函數時,下面的firebug一定要開啟,不然這函數在用firefox運行時無效且影響正常程式,如果用IE開啟,將會出錯。 第一個參數可以是一個包含格式化預留位置輸出的字串,例如: console.log("The %s jumped over %d tall buildings", animal, count); 格式化字串 類型 %s 字串 %d, 整型 %i (暫不支援數字型) %f 浮點型 (暫不支援數字型) %o
Time of Update: 2017-01-19
1、直接建立模式。這是最簡單也是最直接的一種模式,首先建立一個參考型別的對象,然後為其添加自訂屬性和方法。範例程式碼如下: 複製代碼 代碼如下: var person = new Object(); person.name = "Sam"; person.age = 16; person.speak = function(){ alert(this.name + "is " + this.age + "years old"); } person.speak();
Time of Update: 2017-01-19
複製代碼 代碼如下: txt1.onkeydown = function(ev){ var oevent = ev||event; if(oevent.ctrlKey && oevent.keyCode == 13){ …… } } txt1:綁定事件的對象,例如:一個文本輸入框input。 oevent:事件對象(包含事件的很多有用詳情)。 keyCode:可以擷取到鍵盤按下的索引值。例如:斷行符號鍵就是13。
Time of Update: 2017-01-19
簡介 從本章開始,我將陸續(翻譯、轉載、整理)http://dmitrysoshnikov.com/網站關於ECMAScript標標準理解的好文。 本章我們要講解的是ECMAScript標準裡的執行內容和相關可執行代碼的各種類型。 原始作者:Dmitry A. Soshnikov 原始發布: 2009-06-26 俄文原文:http://dmitrysoshnikov.com/ecmascript/ru-chapter-1-execution-contexts/ 英文翻譯:Dmitry A.
Time of Update: 2017-01-19
複製代碼 代碼如下: function obj2str(o){ var r = []; if(typeof o =="string") return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\""; if(typeof o == "object"){ if(!o.sort){ for(var i in o)
Time of Update: 2017-01-19
先說一種最普遍的思路: 把圖片們用ul之類的包起來,並設定float。然後設定這個ul本身為absolute定位,其父標籤用relative定位。通過設定ul的left或top值,實現圖片隊列的滾動效果 特點: 只操作一個html元素(即上文的ul),對系統開銷小;滾到頭會復原;從大序號滾動到小序號也會復原;從最後序號滾動到第一個,會“咻”的一下把所有中間的圖片也路過一次。 另一種思路就是我在XScroll.js裡實現的思路,所有圖片用絕對位置。具體看那篇文章吧。
Time of Update: 2017-01-19
我們先看一段傳統的繼承代碼: 複製代碼 代碼如下: //定義超類 function Father(){ this.name = "父親"; } Father.prototype.theSuperValue = ["NO1","NO2"]; //定義子類 function Child(){ } //實現繼承 Child.prototype = new Father(); //修改共用數組 Child.prototype.theSuperValue.push("修改"); //建立子類執行個體
Time of Update: 2017-01-19
這本書中第一個重要的內容就是介面。大家對介面應該都不陌生,簡單的說介面就是一個契約或者規範。在強型別的面相對象語言中,介面可以很容易的實現。但是在javascript中並沒有原生的建立或者實現介面的方式,或者判定一個類型是否實現了某個介面,我們只能利用js的靈活性的特點,類比介面。 在javascript中實現介面有三種方式:注釋描述、屬性驗證、鴨子模型。 note:因為我看的是英文書,翻譯水平有限,不知道有些詞彙如何翻譯,大家只能領會精神了。 1. 注釋描述 (Describing
Time of Update: 2017-01-19
本文分上下兩部分,上部講基本模式(basic patterns):完全暴露法,底線標記法和使用閉包;下部講進階模式(Advanced Patterns),如何?靜態方法和屬性,常量還有其他一些知識點。 封裝是物件導向語言很基本也是很有用的特性,雖然javascript也可以稱的上是物件導向語言,但他對封裝的支援並不是很好,不像其他語言,只要使用private、protected就可以實現。但這並不是說就沒有辦法了,下面我就介紹下如何在javascript中實現封裝。
Time of Update: 2017-01-19
首先下載node.js,然後解壓到E盤,改名為node,然後開始菜單輸入cmd,用cd命令切換到nodejs的解壓目錄: 第一個例子:hello world。 在node目錄下建立hello.js檔案,然後在裡面輸入: 複製代碼 代碼如下: var sys = require("sys"); sys.puts("Hello world"); 然後我們在命名台中輸入命令node hello.js,就能看到命名台輸出結果Hello world。 第二個例子:hello world2。
Time of Update: 2017-01-19
在Javascript裡,setTimeout和setInterval接收第一個參數是一個字串或者一個函數,當在一個對象裡面用setTimeout延時調用該對象的方法時 複製代碼 代碼如下: function obj() { this.fn = function() { alert("ok"); console.log(this); setTimeout(this.fn, 1000);//直接使用this引用當前對象 } } var o = new obj(); o.fn();
Time of Update: 2017-01-19
內建對象 定義:由ECMAScript實現提供的、獨立於宿主環境的所有對象,在ECMAScript程式開始執行時出現。 由定義可知開發人員不必明確執行個體化內建對象,它已被執行個體化了。在ECMAScript-262隻定義了兩個內建對象,即Global和Math Global Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在。 由於在ECMAScript中不存在獨立的對象,所有函數都必須是某個對象的方法,如前面提到的isNaN()、isFinite()
Time of Update: 2017-01-19
查詢了一下相關的資料,Div沒有自動滾動的屬性,只能類比滑鼠的滾動來現實想要的效果。 關鍵的部分部分在這裡:div.scrollTop = div.scrollHeight; 下面是具體實現的精簡代碼: 複製代碼 代碼如下: <html> <body> <div id="divDetail" style="overFlow-y:scroll; width:250px;height: 200px;"> <table style="border:1px