Time of Update: 2018-12-08
當然考慮到瀏覽器(特別指IE)糟糕的js執行能力,動畫效果又要受到影響。 瀏覽器中的動畫效果主要依靠js來動態改變Dom元素外觀來形成。不過據說css正在修鍊這方面的能力哦。(拭目以待^_^) 我們需要周期性的改變dom元素的外觀,這個周期性就要依靠setTimeout()和setInterval()來完成。 它們2個哪一個更好點呢 見這裡 (是jquery的作者寫的一個文章) 我個人比較偏向setInterval,setTimeout需要用遞迴調用而且線上程很忙的情況下會延時,這會影響流暢性。
Time of Update: 2018-12-08
(10)addEvent 網上最流行的版本是Scott Andrew的,據說javascript界曾舉行一場比賽(此事件我們可以在Pro Javascript Techniques第100頁看到)或瀏覽PPK的網站,徵求添加事件與移除事件的函數,他就是其獲獎者。下面就是他的實現: 複製代碼 代碼如下:function addEvent(elm, evType, fn, useCapture) { if (elm.addEventListener) {
Time of Update: 2018-12-08
比如,在使用DWR的時候,如果你想傳遞下拉框的參數到背景話,此時就需要先擷取到下拉框的值了。 其實想要擷取到下拉框的值是很簡單的。 最關鍵的一段代碼就是: 複製代碼 代碼如下:onchange="show(this.options[this.options.selectedIndex].value);" onchange="show(this.options[this.options.selectedIndex].value);" show是一個自訂的函數名。
Time of Update: 2018-12-08
在很多時候,我們需要改變這些預設操作,比如:點擊一個連結時,我們執行一些 ajax 操作,但是我們並不希望執行跳轉動作,於是,就有了本文:阻止瀏覽器預設操作。 其實這並不是一個非常難的課題,單獨拿出來的原因還是瀏覽器安全色問題: 複製代碼 代碼如下:<script type="text/javascript"> // 說明:Javascript 中阻止瀏覽器預設操作 // 作者:John Resig function stopDefault( e ) { // Prevent
Time of Update: 2018-12-08
發現了一個非常好的JavaScript調試方法,目前看到的是可以列印Object/Array/Function/String四種類型,使用方法和PHP中的var_dump()一樣,只要直接dump(變數名)即可。 複製代碼 代碼如下:dump(value, [showTypes]) @ param value (Any) value to dump @ param [showTypes] (Boolean) optional to display each key/value's type @
Time of Update: 2018-12-08
要對錶單中填寫的日期格式進行用戶端驗證,於是在網上找了段代碼,其中用到parseInt對年月日做判斷,其中有類似這樣的語句: ...... else if(parseInt(month)<1 || parseInt(month) >12) ......
Time of Update: 2018-12-08
複製代碼 代碼如下:function jb51tuitan(){ if (getCookie('jb51popped')==''){ //要執行的代碼或一些操作setCookie("jb51popped","ok"); //寫入cookies表示已經執行過了。 alert("ok"); } } jb51tuitan() function setCookie(name, value) { var argv = setCookie.arguments; var argc =
Time of Update: 2018-12-08
但是,有一些細節並不為我們所熟知。John Resig 在分析了這些細節之後,為我們提供了一個完美的解決方案,本文將作詳細介紹: 一、傳統方法不為人所知的細節 毫無疑問,在判斷函數類型時,我們使用的是typeof方法,比如: 複製代碼 代碼如下:function fn(){ //content } alert(typeof fn)//結果是"function"。 但是,該方法在一些瀏覽器中並不是像我們想像的那樣工作。 1、Firefox2和Firefox3
Time of Update: 2018-12-08
1。編寫js函數 <script type="text/javascript"> function display(y){$(y).style.display=($(y).style.display=="none")?"":"none";} function $(s){return document.getElementById(s);} </script> 2. 要顯示/隱藏的html元素加上 id 屬性 <table> <tr id="menu" &
Time of Update: 2018-12-08
1.單擊事件___onclick 使用者單擊滑鼠按鍵時產生的事件.同時onclick指定的事件處理常式或代碼將被調用執行. 如:<input type="button" value="開啟頁面" onlick="window.open('xxxx.html','newwindow','width=456,height=230,toolbar=no,menubar=no,scrollbars=yes');"> 2.改變事件___onchange
Time of Update: 2018-12-08
複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head>
Time of Update: 2018-12-08
複製代碼 代碼如下://日期類 function myDate(time){ var d = new Date(time); this.y=d.getFullYear(); this.m=d.getMonth(); this.d=d.getDate(); this.h=d.getHours(); this.m=d.getMinutes(); this.s=d.getSeconds(); } //建立DOM function createDOM(e,p){ var
Time of Update: 2018-12-08
轉化為Boolean類型所有JavaScript中的值都能隱式的轉化為Boolean類型,比如:複製代碼 代碼如下: 0 == false; // true 1 == true; // true '' == false // true null == false // true 但是這些值都不是Boolean類型。因此當我們使用三個等號進行比較時:複製代碼 代碼如下: 0 === false; // false 1 === true; // false '' === false //
Time of Update: 2018-12-08
JavaScript函數調用規則一 (1)全域函數調用: function makeArray( arg1, arg2 ){ return [this , arg1 , arg2 ]; } 這是一個最常用的定義函數方式。相信學習JavaScript的人對它的調用並不陌生。 調用代碼如下: makeArray('one', 'two'); // => [ window, 'one', 'two' ] 這種方式可以說是全域的函數調用。 為什麼說是全域的函數? 因為它是全域對象window
Time of Update: 2018-12-08
下面我給出幾種常用的方法: 1 .對象冒充 原理: 建構函式使用this關鍵字給所有屬性和方法賦值, 因為建構函式只是一個函數,所以可以使ClassA的建構函式成為classB的方法,然後調用它.這樣classB就會收到classA的建構函式中定義的屬性和方法.例子: 複製代碼 代碼如下:function classA(name) { this.name=name; this.showName=function(){alert(this.name);} } function
Time of Update: 2018-12-08
JavaScript通過RegExp類來支援Regex,舉一個最簡單的例子: 複製代碼 代碼如下:var regApple = new RegExp("apple"); 它可以匹配一個字串中出現的第一個"apple"字串,並且對大小寫敏感。在構造方法中加入第二個參數"g"則代表的搜尋出字串中所有的 "apple",這裡"g"代表"global"。如果第二個參數為"i",則代表著case-insensitive,匹配過程中將不考慮字母的大小寫。將上述兩者綜合起來,可以搜尋出所有"apple"字串,
Time of Update: 2018-12-08
思路: 大家知道文字框input的type為text,所有我們只要遍曆所有input,判斷其type是否為text,然後再判斷指定欄位的值即可達到要求 具體代碼如下: 複製代碼 代碼如下:var aa = document.getElementsByTagName("input"); var bb = 0; for(var i=0;i<aa.length;i++) { var avalue = aa[i].value; var atype = aa[i].type; if(atype ==
Time of Update: 2018-12-08
下午去了趟使用者現場,感覺此問題確實比較蹊蹺,最後發現出問題的電腦是WIN 2000的作業系統,感覺問題癥結可能就在此處,上網google一下,發現原來Media Player 11不支援Win2000系統,需要針對使用者作業系統版本判斷使用者下載播放器版本,讓Win2000使用者下載Media Player 9即可。 好了,問題原因找到了,解決問題就是很簡單的事情了。 下面主要說一下用JavaScript如何判斷使用者作業系統及版本。 關鍵區段:
Time of Update: 2018-12-08
非常好的想法包括函數,弱類型,動態對象和一個富有表現力的對象字面量的標記法, 壞的想法包括基於全域變數的編程模型。 JavaScript的函數是基於詞法範圍的頂級對象。Javascript是第一個成為主流的Lambda語言。相對於Java而言,JavaScript於Lisp和Scheme有更多的共同點。它是披著C外衣的Lisp。這使得JavaScript成為一個非常強大的語言。
Time of Update: 2018-12-08
Javascript已經可以類比出物件導向的封裝和繼承特性,但是不幸的是Javascript對多態特性的支援非常弱!其它物件導向語言的多態一般都由方法重載和虛方法來實現多態,Javascript也通過這兩種途徑來實現! 重載:由於Javascript是弱類型的語言,而且又支援可變參數,當我們定義重載方法的時候,解譯器無法通過參數類型和參數個數來區分不同的重載方法,因此方法重載是不被支援的!當先後定義了同名的方法的時候,後定義的方法會覆蓋先定義的方法!