Time of Update: 2013-10-17
今天要出個滑鼠滾動放大縮小圖片的功能,看似很簡單,從網上一搜,出現的都是onmousewheel的例子,全部只支援IE瀏覽器,結果查出Firefox有對應的DOMMouseScroll來處理這個功能,代碼如下,並加上注意的注釋項: 複製代碼 代碼如下: $(function(){ $(".body img").each(function(){ if($.browser.msie){ $(this).bind("mousewheel",function(e){ var
Time of Update: 2013-10-17
每段代碼前邊都有功能註解和參數要求等解說文字,難度不大也就沒做更多注釋。 為看得清楚,這裡依先後順序做個小目錄: 重寫window.setTimeout, 理解遞迴程式的返回規律, 截取長字串, 取得元素在頁面中的絕對位置, 統計、去除重複字元(多種方法實現), 把有序的數組元素隨機打亂(多種方法實現)。 複製代碼 代碼如下: /* 功能:修改 window.setTimeout,使之可以傳遞參數和對象參數 (同樣可用於setInterval) 使用方法: setTimeout(回呼函數,時間,
Time of Update: 2013-10-17
越來越覺得國內沒有教書育人的氛圍,為了弄懂JS的閉包,我使出了我英語四級吃奶的勁去google上搜尋著有關閉包的解釋,當我看到stackoverflow上這一篇解答,我腦中就出現了一句話:就是這貨沒跑了! 不才譯文見下,見笑了。 Peter Mortensen問: 就像老Albert所說的,“如果你不能向一個六歲的孩子解釋清楚,那麼其實你自己根本就沒弄懂。”好吧,我試著向一個27歲的朋友就是JS閉包(JavaScript closure)卻徹底失敗了。
Time of Update: 2013-10-17
例如: 複製代碼 代碼如下: $.get('aaaaa.ashx',null,function(d){ // 假設d 返回 的值為 1,3,43,23,54,67 var arr = d.split(','); $.inArray(3,arr) ==-1 //true //為什麼啊 //如果寫成這樣的 var arr = eval('['+d+']'); $.inArray(3,arr) >-1 //true }); 這是為什麼呢? 望知道的朋友跟貼回複下.
Time of Update: 2013-10-17
複製代碼 代碼如下: //DOM沒有提供insertAfter()方法 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement) { // 如果最後的節點是目標元素,則直接添加。因為預設是最後 parent.appendChild(newElement); } else {
Time of Update: 2013-10-17
其實實現起來並不難,我們先把實現流程大致想一下,首先,如果導航在顯示範圍內,就不用做修改。當導航超出顯示範圍,也就是導航距離螢幕頂部的距離小於0的時候,我們要讓它浮動在螢幕頂上,然後大於0的時候,進行一個複原操作,原理就是這麼簡單,大致看下吧 複製代碼 代碼如下: $().ready(function(){ //導航距離螢幕頂部距離 var _defautlTop = $("#navigator").offset().top - $(window).scrollTop();
Time of Update: 2013-10-17
欄位對於使用者的輸入則為欄位,欄位涉及到使用者的輸入,必定是控制項。由於有以前項目word模板轉化為線上展示輸入經驗(這裡不僅僅是將word轉化為html,還需要提取word書籤作為關鍵字段,關鍵字段作為使用者的輸入,根據使用者配置轉化為文字框,下拉框,數字,貨幣框,時間等等可擴充控制項)。我在本次的模板設計中不再考慮伺服器控制項,因為伺服器控制項將產生一大堆難以控制的html標記。所以徹底瘋狂了一把,採用完全html+jQuery實現(驗證用的也是jQuery
Time of Update: 2013-10-17
網上的Tab頁代碼很多,實現也大同小異 ,但代碼都顯得淩亂,若要真的用的話,必須費勁的吃透它,才能進行二次定製開發,為我所用。實際上實現這個Tab頁介面非常簡單,僅僅是通過Ajax技術偷偷的擷取資訊,然後在一塊地區輪流顯示而已(通過顯示和隱藏層,或複用一個層,輪流向裡邊填充Html資料)。 自己的開發的代碼自己最清楚,用起來也應該最順手,要擴充的話腦子也不犯暈。代碼如下,還在不斷修改中。 代碼如下: 複製代碼 代碼如下: <!DOCTYPE html PUBLIC
Time of Update: 2013-10-17
複製代碼 代碼如下: <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>javascript之null和undefined</title> </head> <body> <script type="text/javascript">
Time of Update: 2013-10-17
我最近查閱javascript資料,發現了一個函數: 複製代碼 代碼如下: function format(s) { var args = arguments; var pattern = new RegExp("%([1-" + arguments.length + "])","g"); return String(s).replace(pattern,function(word,index){ return args[index]; }); } // test window.onload =
Time of Update: 2013-10-17
先來看以下3段代碼 複製代碼 代碼如下: var firstName = "Mark"; (function DisplayFirstName() { console.log(firstName); })();//必然輸出 Mark var lastName = "Aut"; (function DisplayLastName() { var lastName = "Bru"; console.log(lastName); })();//必然輸出 Bru, 本地範圍的優先順序高於全域範圍
Time of Update: 2013-10-17
介紹 在這篇文章裡,我們將討論跟執行內容直接相關的更多細節。討論的主題就是this關鍵字。 實踐證明,這個主題很難,在不同執行內容中確定this的值經常會發生問題。 許多程式員習慣的認為,在程式語言中,this關鍵字與物件導向程式開發緊密相關,其完全指向由構造器新建立的對象。在ECMAScript規範中也是這樣實現的,但正如我們將看到那樣,在ECMAScript中,this並不限於只用來指向新建立的對象。 下面讓我們更詳細的瞭解一下,在ECMAScript中this的值到底是什嗎? 定義
Time of Update: 2013-10-17
前面寫的get()和query()我都省略參數了,先看看文檔中的函數原型: Ext.get( Mixed el ) : Element Parameters: el : Mixed The id of the node, a DOM Node or an existing Element. Returns: Element The Element object Ext.query( String path, [Node root] ) : Array Parameters: path :
Time of Update: 2013-10-17
原理很簡單: 擷取當前螢幕(表單)的寬度和高度,因為不同瀏覽器的表單大小是不一樣的。有了這個,可以計算出來垂直置中的座標。但是滑動了捲軸怎麼依然垂直置中呢?這個時候就要擷取當前表單距離頁面頂部的高度,加到剛剛的y軸座標即可。 $(document)是擷取整個網頁的,$(window)是擷取當前表單的,這個要搞清楚。 最後把擷取的座標賦給表單即可,表單本身是絕對位置的,所以自然可以到表單中間。 具體代碼: 複製代碼 代碼如下: <!DOCTYPE HTML> <html>
Time of Update: 2013-10-17
注意: JavaScript 中數組不是 關聯陣列。 JavaScript 中只有對象 來管理索引值的對應關係。但是關聯陣列是保持順序的,而對象不是。 由於 for in 迴圈會枚舉原型鏈上的所有屬性,唯一過濾這些屬性的方式是使用 `hasOwnProperty` 函數,因此會比普通的 for 迴圈慢上好多倍。 遍曆(Iteration) 為了達到遍曆數組的最佳效能,推薦使用經典的 for 迴圈。 複製代碼 代碼如下: var list = [1, 2, 3, 4, 5, ...... 1000
Time of Update: 2013-10-17
Jquery的基本文法: 複製代碼 代碼如下: $("input[type='text']").change( function() { // 這裡可以寫你想要的驗證代碼; }); 2 當綁定一個文字框的時候 複製代碼 代碼如下: $(function () { $("#txtAssessmentTotal").change(function () { //這裡寫你想要的驗證的代碼; }) }) 為每個匹配元素的特定事件綁定事件處理函數。 .bind()
Time of Update: 2013-10-17
document.activeElement擷取文檔當前獲得焦點的元素 document.head在jQuery中使用方式如下document.head || document.getElementsByTagName( "head" )[0] ,可見並非所有瀏覽器支援 document.body獲得當前文檔的HTMLBodyElement元素 document.compatMode擷取當前文檔的渲染方式。傳回值:BackCompat(怪癖模式)和CSS1Compat(標準模式)。由於IE
Time of Update: 2013-10-17
範例程式碼下載: /201109/yuanma/JQueryElementTest.rar本文中所包含的內容如下: * 準備 * 主要功能 * 綁定欄位 * 綁定屬性 * 基本設定 * 設定分頁 * 設定欄位 * 設定調用的服務端方法 * 請求/返回資料的格式 * 填充/搜尋 * 更新 * 刪除 * 建立 * 行狀態說明 * 排序狀態說明 * 設定模板 * ItemTemplate * UpdatedItemTemplate/InsertedItemTemplate *
Time of Update: 2013-10-17
功能簡介:主要功能就是分頁顯示資料了,可在設定檔中配置每頁要顯示的頁碼,可以做多條件聯集查詢,這裡只是做一個簡單的查詢。歡迎拍磚,有問題的還望大蝦們斧正哈。看看這個,無重新整理的噢!! 具體實現請看源碼:1、aspx頁面複製代碼 代碼如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxPage.aspx.cs" Inherits="MeasurementWellCurve.UI.AjaxPage" %>
Time of Update: 2013-10-17
一、變數 在javascript變數中可以存放兩種類型的值:原始值和引用值。 原始值儲存在棧上的簡單欄位,也就是值直接儲存在變數所標示的位置內。 引用值儲存在堆內的對象,棧內變數儲存的是指向堆內對象的指標值。 在javascript中有5種基本類型:Undefined,Null,Boolean,Number,String。 參考型別其實就是對象,類似其他語言中類執行個體的概念。 複製代碼 代碼如下: var b = true; // 儲存在棧上 var num = 20; //儲存在棧上