Time of Update: 2013-10-17
解決思路:1、 在標題處增加一個【—】【+】號,供使用者點擊。 2、 使用者收縮和展開螢幕的行為儲存在Cookie裡面。頁面重新載入或者使用者重新登入系統,仍然能記住使用者的行為。 優點:1、使用Jquery外掛程式的形式來做,容易擴充。容易實現。 2、 儲存在Cookie的行為,容易實現,減少工作量,使用者也能接收。如儲存在資料庫,則增加頁面的負載。
Time of Update: 2013-10-17
一般的攻擊就是寫一段指令碼看是否能執行,就能判斷是否是攻擊了,比如說我寫<script> alert("執行了我了哦!!!"); </script>,然後看看當頁面載入的時候是否能執行,就行了。目前為止一般的網站這段代碼都不會執行,但是換一種方式呢? 比如<SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>,估計也米有幾個網站執行吧,大家都知道的。 下面看更猥瑣的測試例子,
Time of Update: 2013-10-17
用過Prototype的人都知道,裡面有個類叫做Template,用法樣本如下: 複製代碼 代碼如下: var str = '#{what} may have gone, but there is a time of #{how}'; var object = { what : 'Swallows', how : 'return' } var template_1 = new Template(str); var result = template_1.evaluate(object);
Time of Update: 2013-10-17
十進位四捨五入 這兩段代碼協助你做到四捨五入,對於你顯示價格或者訂單比較有用: 代碼1: 複製代碼 代碼如下: function CurrencyFormatted(amount) { var i = parseFloat(amount); if(isNaN(i)) { i = 0.00; } var minus = ''; if(i < 0) { minus = '-'; } i = Math.abs(i); i = parseInt((i + .005) * 100); i = i /
Time of Update: 2013-10-17
儘管js可以想物件導向那樣去構造對象,隱藏私人方法,但需求變化的往往比你寫程式還要快時,就連設計js對象的時間也沒有了,所以我比較傾向於用js私人函數和js方法;jquery私人函數和jquery對外暴露方法的形式也可以實現,而頁面產生的html結構則完全在js中產生,包括哪些id和class,
Time of Update: 2013-10-17
解決思路如下: 首先,判斷事件的當前節點,也就是jquery的currentTarget是否在target的包含中,即下面的擴充$.containsNode。 然後,在調用hover的時候的mouseover和mouseout事件裡判斷currentTarget是否在target的包含中,即$.fn.fhover擴充 下面就是相關代碼: 複製代碼 代碼如下: $.containsNode = function(parentNode, childNode) { if
Time of Update: 2013-10-17
使用方法: 1.依次引用jquery.1.7.1,jQueryRotateCompressed.2.1.js(旋轉外掛程式),jquery.path.1.0.js(我自己寫的Path外掛程式) 2.頁面元素採用如下格式 複製代碼 代碼如下: <div id="content"> <div>單擊我</div> <div>★</div> <div>★</div>
Time of Update: 2013-10-17
l ECMAScript,有ECMA-262定義,明確javascript這門語言的規則和約定,好比為開始一場遊戲指定的遊戲規則、規範、約定。 l DOM:提供訪問和操作網頁內容的方法和介面 l BOM,提供與瀏覽器互動的方法和介面 ECMA-262規定了以下內容: l 文法 l 類型 l 關鍵字 l 保留字 l 操作符 l 對象 ECMAScript是對該標準規定的各方面內容的程式設計語言描述,javascript實現了ECMAScript指定內容並進行了擴充。
Time of Update: 2013-10-17
1. 排序: 預設的sort()按字元編碼排序的: 複製代碼 代碼如下: <script type="text/javascript"> <!-- var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(); alert(testArray); //--> </script> 現在要讓它按照數值大小排序: 複製代碼 代碼如下: <script type="text/javascript"
Time of Update: 2013-10-17
先看圖: 很簡單的一個效果 首先html 複製代碼 代碼如下: <ul> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt=""
Time of Update: 2013-10-17
今天這個demo是有關下拉框的。 複製代碼 代碼如下: <div class="centent"> <select multiple="multiple" id="select1" style="width:100px;height:160px;"> <option value="1">選項1</option> <option value="2">選項2</option> <option
Time of Update: 2013-10-17
5. 非同步隊列 Deferred 5.1 概述 非同步隊列是一個鏈式對象,增強對回呼函數的管理和調用,用於處理非同步任務。 非同步隊列有三種狀態:初始化(unresolved),成功(resolved),失敗(rejected)。 執行哪些回呼函數依賴於狀態。 狀態變為成功(resolved)或失敗(rejected)後,將保持不變。 回呼函數的綁定可以是同步,也可以是非同步,即可以在任何時候綁定。 (本節中的 綁定 註冊 增加 具有相同的含義) 5.2 關鍵方法 先看看jQuery.
Time of Update: 2013-10-17
在JS中充分使用物件導向設計思想,可以極大限度的提升代碼重用、降低模組間的偶合、更好的邏輯分層與並行開發。下面分幾個步驟簡單談下我的理解。 一、資料類型與封裝類 封裝類 …… 類型名 …… 常見值 …… 分類 Number …… number …… 123.123 …… 基礎資料型別 (Elementary Data Type) Boolean …… Boolean …… true、false …… 基礎資料型別 (Elementary Data Type) String …… string …
Time of Update: 2013-10-17
text 數字 59) this.value='0'"> [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2013-10-17
實現原理:根據省份值的變動,通過jQuery把sf_id傳給後台php檔案處理,php通過查詢MySQl資料庫,得到對應的地市名,並返回JSON資料給前端處理,即實現聯動效果!為便於講解,這裡直接給出省份:河南省(sf_id=1) 浙江省(sf_id=2),而地市和學生資訊則分別建立兩張資料表!編碼方式均為:utf8!建立資料庫並執行以下SQL語句!複製代碼 代碼如下: /* 地市表 */ create TABLE IF NOT EXISTS `dishi`( `ds_id`
Time of Update: 2013-10-17
複製代碼 代碼如下: (function ($) { var PageFunc = function PageFunc() { } $.PageFunc = function (Total, PageSize, curPageNum, FunUrl) { if (PageSize == "" || PageSize == null || PageSize == undefined) { PageSize = 10; } if (curPageNum == "" || curPageNum ==
Time of Update: 2013-10-17
本文就從選擇符的角度簡單探討一下最佳化jQuery代碼的問題。 Sizzle的運行機制 jQuery從1.3開始把根據選擇符運算式尋找元素的代碼獨立出來,也就是Sizzle引擎。當我們把一個選擇符運算式(比如"#id"、".class"、":nth-child(2)")傳遞給$()函數時,Sizzle在內部會優先利用瀏覽器原生支援的DOM方法來尋找元素,以求得最大的執行速度。以下就是Sizzle會優先選用的幾個標準的原生方法(各個方法的用途不再贅述): 複製代碼 代碼如下:
Time of Update: 2013-10-17
複製代碼 代碼如下: $("dd").bind("click",function(e){ var $obj = $(e.target); var i=0; for (var x in $obj){ i++; var $hr=(i%5==0) ? "<hr />" : " "; document.write(x+" "+$hr); } }); 遍曆結果: 0 length prevObject context selector -----------------------------
Time of Update: 2013-10-17
其實Json也就是一種資料的格式,在後台將資料封轉為一種格式,然後在前台用相同的方法解析,類似於序列化。json格式主要是由索引值對組成,它可以表示多個資料。比如 {name:zhangsan,age:12,class:1} 同時json 還可以表示一個資料集,它是又{}和: 來組成的。比如我們需要從資料庫查詢出一張表格,然後將表格傳輸給前台,但是dataset是不能直接傳輸的,我們需要將dataset資料轉換為json資料,這樣可以方便前台js解析資料,下面我來寫一下轉換的格式
Time of Update: 2013-10-17
當我們編寫指令碼的時候建立了交叉引用,例如如下代碼: 複製代碼 代碼如下: window.onload = function () { var x = document.getElementsByTagName('H3'); for (var i=0;i<x.length;i++) { x[i].onclick = openClose; x[i].relatedElement = x[i].nextSibling; // simplified situation