Time of Update: 2017-01-19
按所推薦的程式在IE下跑了下,的確,排序耗時很小。 複製代碼 代碼如下: <script> /* * 洗牌 */ function getRandomPlayCard(m){ var array1=new Array(m); for(var i=0;i<m;i++){ var rnd=Math.floor(Math.random()*(i+0.99999)) array1[i]=array1[rnd]; array1[rnd]=i; } return array1; }; /*
Time of Update: 2017-01-19
原理很簡單: onmouseover、onmouseout執行業務代碼時使用setTimeout進行延時,第二次觸發的時候先清除掉前面的setTimeout。 原理 複製代碼 代碼如下: var timer; document.getElementById('test').onmouseover = function () { clearTimeout(timer); timer = setTimeout(function () { alert('over') }, 150); };
Time of Update: 2017-01-19
雖然不太常用,但我們的確可以給對象添加以數字為屬性名稱的屬性: 複製代碼 代碼如下: var obj = {}; obj[0] = 1; obj[1] = 2; 這個對象並不是數群組類型,那有沒有辦法把它轉換為數群組類型呢?jQuery代碼中採用了Array.prototype.slice把這種對象轉換為數組,但我試了好幾遍,就是不行: 複製代碼 代碼如下: var obj = {}; obj[0] = 1; obj[1] = 2;
Time of Update: 2017-01-19
淘寶的搜尋方塊就用到了這樣一種設計:這種設計一般是用javascript監控了輸入框的focus和blur事件:複製代碼 代碼如下: <input type="text" id="q" value="請輸入關鍵字" /> <script type="text/javascript">//<![CDATA[ $("#q").onfocus = function() { if ("請輸入關鍵字" == this.value) { this.value = "
Time of Update: 2017-01-19
從原理就可以知道,unshift的效率是較低的。原因是,它每添加一個元素,都要把現有元素往下移一個位置。但到底效率差異有多大呢?下面來測試一下。 測試環境的主要硬體:CPU T7100(1.8G);記憶體4G DDR2 667;硬碟5400轉。主要軟體:作業系統為Windows 7;瀏覽器為Firefox 3.6.9。測試代碼: 複製代碼 代碼如下: var arr = [ ], s = +new Date; // push效能測試 for (var i = 0; i < 50000;
Time of Update: 2017-01-19
1、js引擎在代碼載入時進行文法分析,如果js寫的不規範則文法分析通不過。這時候的錯誤稱為語法錯誤 2、文法分析通過了,js引擎會執行代碼。執行期間發生的錯誤稱為運行錯誤 不同引擎處理這2種錯誤的提示不太一樣。如下: 複製代碼 代碼如下: var p = {name:"Jack",age:33,};//注意33後有個逗號 p.toString = function() {return "姓名:" +this.name + ",年齡:" + this.age}; console.log(p);
Time of Update: 2017-01-19
考慮兩種情況: (1)使用者關閉瀏覽器或重新導向到其他網頁 複製代碼 代碼如下: <script type=text/javascript> function exit_init() { if(xmlhttp.readyState==4){ if(xmlhttp.status==200){ // } else{ alert("there was a problem accessing the server:"+xmlhttp.status); } } } //定義windows
Time of Update: 2017-01-19
1. HTML頁面: 複製代碼 代碼如下: <script type="text/javascript"> $(function() { $("#clickToInsert").click(function() { $.get("service.ashx?file=pages2_1.txt", function(data) { $("#placeholder").html(data); }, "text"); }); }); </script> <input
Time of Update: 2017-01-19
Pixy方法受到IE的cache bug影響會閃爍。其實並沒有說清楚這個問題,但其實該bug是有條件的,即IE的cache設定為Every visit to the page,而不是預設的Automatically。基本上,只有開發人員才會把cache設定為每次訪問檢查更新,所以這個bug其實不會影響真正的使用者 (根據在winxpsp2的ie6下測試,雖然可能仍然調用了一次網路存取的api,但是並沒有發生實際的請求,癥狀就是滑鼠有極短時間的抖動,但是映像
Time of Update: 2017-01-19
效果圖:示範代碼: 生肖查詢 目前位置>>首頁>實用查詢>生肖查詢 生肖查詢 生於: 年 屬: 當然沒有人回忘記自己屬什麼。。但是你可以很輕鬆得知道任何年份出世得人的屬相。。填入查詢出生在哪一年,例如:"1986" [Ctrl+
Time of Update: 2017-01-19
注意:在firefox下 添加字串的時候有個bug 就是scrollTop 會等於0,當然解決了,但是不夠完美。如果有高手也研究過,麻煩指點下。完整測試代碼:複製代碼 代碼如下:<textarea id="testlujun" style="width: 300px; height: 50px;">abcdefghijklmnopqrstuvwxyz</textarea><br /><input
Time of Update: 2017-01-19
我們操作習慣也確實是喜歡用斷行符號建來直接提交資料。經過對項目的一番檢查,這其實是頁面設計得不好,導致瀏覽器在載入時把退出登入按鈕當成預設的按鈕,所以一按斷行符號就觸這退出按鈕事件。考慮到一個龐大的項目為了這個問題去改頁面設計也不太現實,況且客戶要求在有“儲存”按鈕時按斷行符號按鈕就觸發“儲存”按鈕事件,有“下一步”按鈕時就觸發它的事件,有“提交”按鈕時就觸發相應的事件等等,如果一個個頁面去改動那工作量可就大得驚人了。於是乎考慮用直接在模板header檔案中用js來實現全站對斷行符號按鈕的事件觸
Time of Update: 2017-01-19
需求描述:頁面上可以動態添加資料,比如table,點擊按鈕可以動態添加行。又或頁面 載入時table資料是通過ajax從後台擷取的。而這時我們想要擷取其中的某個值,又該如何擷取呢? 如果是要通過某個事件來擷取的比如click,mouseover等等,則可以使用live()方法 複製代碼 代碼如下: $(".button").live("click",function(){ console.info($("#mytd").html()); })
Time of Update: 2017-01-19
一般就是改自己的函數名:比較省事也簡單,直接批量替換就可以了。先上代碼:複製代碼 代碼如下:var $= function (id) { return "string" == typeof id ? document.getElementById(id) : id; }; 這段代碼是模仿jquery自訂id選取器的方法,但是因為jquery選取器也是用的這個“$”,如果你引用jquery並且使用這個方法,那麼頁面就會報錯,解決大辦法就是修改自己的方法把"$"改成"getId(id)";複製代碼
Time of Update: 2017-01-19
當開發人員需要在代碼中使用新版本的jQuery時,可以在1.9或2.0版本中使用該外掛程式來檢測哪些功能已經棄用或移除,並可以在必要時恢複這些功能。更多資訊見項目README jQuery Migrate 1.1在之前版本的基礎上,進行了一些改進,包括: •支援console.trace()來跟蹤警告資訊,更易於診斷錯誤。 •對於無效JSON,會返回警告資訊。 •提示“Logging is active”資訊,以表明外掛程式正在運行。
Time of Update: 2017-01-19
html部分複製代碼 代碼如下:<span class="time_wrap" value="1397145180" style="line-height:200%;"></span>js部分複製代碼 代碼如下:<script type="text/javascript"> $(document).ready(function(){
Time of Update: 2017-01-19
有這樣一個表格: 點擊刪除執行儲存,需要執行onclick事件SaveItem("<%#Eval("ID")>",this); 在JS中 複製代碼 代碼如下: function SaveItem(id,btn) { var tbl = $(btn).parent().parent().parent(); //table 第二行記錄 var dj =
Time of Update: 2017-01-19
實現滑鼠可拖動調整表格列寬度 如圖: 一、引入檔案: 複製代碼 代碼如下: <script src="/js/jquery-1.8.0.min.js" type="text/javascript"></script> <script src="/js/store.js" type="text/javascript"></script> <script src="/js/jquery.resizableColumns.js"
Time of Update: 2017-01-19
大家有的時候想在頁面中加一些東東,又限於瀏覽器的不同,效果不盡都能表現出來,這下我們可以想到瀏覽器的判斷,根據不同的瀏覽器給出不同的展示效果,是不是很炫呢?那當然,你能想到的很多人都能想的到,就好像大楚網的廣告添加方法,真是讓我見識到了真正的JS高手是如何練就的了,廢話不說了,看代碼: 複製代碼 代碼如下: if (window.XMLHttpRequest) { //Mozilla, Safari,IE7 alert('Mozilla, Safari,IE7 ');
Time of Update: 2017-01-19
clipboardData 對象 提供了對於預定義的剪貼簿格式的訪問,以便在編輯操作中使用。 成員表 方法 描述 clearData 通過 dataTransfer 或 clipboardData 對象從剪貼簿刪除一種或多種資料格式。 getData 通過 dataTransfer 或 clipboardData 對象從剪貼簿擷取指定格式的資料。 setData 以指定格式給 dataTransfer 或 clipboardData 對象賦予資料。 樣本 下面的例子使用了