1. 程式人生 > >寫出高效能的JQuery

寫出高效能的JQuery



一個糟糕的Jquery可能會影響到整個頁面的渲染更或是請求耗時很長,這樣的網頁展示,我想是使用者不願意看到的。

1.取消沒必要的頻繁的獲取Jquery物件,這個在Java程式設計裡我想一樣:

[javascript]  view plain  copy
  1. // 糟糕  
  2. h = $('#element').height();  
  3. $('#element').css('height',h-20);  
  4. // 建議  
  5. $element = $('#element');  
  6. h = $element.height();  
  7. $element.css('height',h-20);  

2.用區域性變數代理從JQuery物件中獲取屬性

[javascript]
  view plain  copy
  1. // 糟糕  
  2. $element = $('#element');  
  3. h = $element.height();  
  4. $element.css('height',h-20);  
  5. // 建議var   
  6. $element = $('#element'
    );  
  7. var h = $element.height();  
  8. $element.css('height',h-20);   


3.通過繫結事件來代替直接用事件:

[javascript]  view plain  copy
  1. // 糟糕  
  2. $first.click(function(){  
  3.     $first.css('border','1px solid red');  
  4.     $first.css('color','blue');  
  5. });  
  6.    
  7. $first.hover(function(){  
  8.     $first.css('border','1px solid red');  
  9. })  
  10.    
  11. // 建議  
  12. $first.on('click',function(){  
  13.     $first.css('border','1px solid red');  
  14.     $first.css('color','blue');  
  15. })  
  16.    
  17. $first.on('hover',function(){  
  18.     $first.css('border','1px solid red');  
  19. })  


4.合併重複的函式操作:

[javascript]  view plain  copy
  1. 合併函式:  
  2. // 糟糕  
  3.    
  4. $first.click(function(){  
  5.     $first.css('border','1px solid red');  
  6.     $first.css('color','blue');  
  7. });  
  8.    
  9. // 建議  
  10.    
  11. $first.on('click',function(){  
  12.     $first.css({  
  13.         'border':'1px solid red',  
  14.         'color':'blue'  
  15.     });  
  16. });  

5.使用連結

[javascript]  view plain  copy
  1. // 糟糕  
  2. $second.html(value);  
  3. $second.on('click',function(){  
  4.     alert('hello everybody');  
  5. });  
  6. $second.fadeIn('slow');  
  7. $second.animate({height:'120px'},500);  
  8. // 建議  
  9. $second.html(value);  
  10. $second.on('click',function(){  
  11.     alert('hello everybody');  
  12. }).fadeIn('slow').animate({height:'120px'},500);  

6.基於5做一些程式碼格式優化,增加可讀性

[javascript]  view plain  copy
  1. // 糟糕  
  2. $second.html(value);  
  3. $second.on('click',function(){  
  4.     alert('hello everybody');  
  5. }).fadeIn('slow').animate({height:'120px'},500);  
  6. // 建議  
  7. $second.html(value);  
  8. $second  
  9.     .on('click',function(){ alert('hello everybody');})  
  10.     .fadeIn('slow')  
  11.     .animate({height:'120px'},500);  
  12.       
7.避免使用一些容易出錯的形式:

[javascript]  view plain  copy
  1. <a href="#"/> # 這裡指的是返回頁面top,雖然沒有深究,但是在專案中真心踩過坑。  
  2. 儘量使用<a href="javascript:;">,當然也有喜好用<a href="javascript:void(0);">//javascript中void是一個操作符,該操作符指定要計算一個表示式但是不返回值。  

8.對於一些常見問題的解釋:

[javascript]  view plain  copy
  1. //一下操作並不是按鈕失效,因為onclick="return false"只能阻止a標籤href屬性中的網址(或程式碼)執行,可以理解成讓一個a標籤的頁面跳轉失敗  
  2. $("#id").on("click",function(){return false;});  

一個糟糕的Jquery可能會影響到整個頁面的渲染更或是請求耗時很長,這樣的網頁展示,我想是使用者不願意看到的。

1.取消沒必要的頻繁的獲取Jquery物件,這個在Java程式設計裡我想一樣:

[javascript]  view plain  copy
  1. // 糟糕  
  2. h = $('#element').height();  
  3. $('#element').css('height',h-20);  
  4. // 建議  
  5. $element = $('#element');  
  6. h = $element.height();  
  7. $element.css('height',h-20);  

2.用區域性變數代理從JQuery物件中獲取屬性

[javascript]  view plain  copy
  1. // 糟糕  
  2. $element = $('#element');  
  3. h = $element.height();  
  4. $element.css('height',h-20);  
  5. // 建議var   
  6. $element = $('#element');  
  7. var h = $element.height();  
  8. $element.css('height',h-20);   


3.通過繫結事件來代替直接用事件:

[javascript]  view plain  copy
  1. // 糟糕  
  2. $first.click(function(){  
  3.     $first.css('border','1px solid red');  
  4.     $first.css('color','blue');  
  5. });  
  6.    
  7. $first.hover(function(){  
  8.     $first.css('border','1px solid red');  
  9. })  
  10.    
  11. // 建議  
  12. $first.on('click',function(){  
  13.     $first.css('border','1px solid red');  
  14.     $first.css('color','blue');  
  15. })  
  16.    
  17. $first.on('hover',function(){  
  18.     $first.css('border','1px solid red');  
  19. })  


4.合併重複的函式操作:

[javascript]  view plain  copy
  1. 合併函式:  
  2. // 糟糕  
  3.    
  4. $first.click(function(){  
  5.     $first.css('border','1px solid red');  
  6.     $first.css('color','blue');  
  7. });  
  8.    
  9. // 建議  
  10.    
  11. $first.on('click',function(){  
  12.     $first.css({  
  13.         'border':'1px solid red',  
  14.         'color':'blue'  
  15.     });  
  16. });  

5.使用連結

[javascript]  view plain  copy
  1. // 糟糕  
  2. $second.html(value);  
  3. $second.on('click',function(){  
  4.     alert('hello everybody');  
  5. });  
  6. $second.fadeIn('slow');  
  7. $second.animate({height:'120px'},500);  
  8. 相關推薦

    高效能JQuery

    一個糟糕的Jquery可能會影響到整個頁面的渲染更或是請求耗時很長,這樣的網頁展示,我想是使用者不願意看到的。 1.取消沒必要的頻繁的獲取Jquery物件,這個在Java程式設計裡我想一樣: [

    優化SQL查詢:怎樣高效能SQL語句

    1、 首先要搞明白什麼叫執行計劃? 執行計劃是資料庫根據SQL語句和相關表的統計資訊作出的一個查詢方案,這個方案是由查詢優化器自動分析產生的,比如一條SQL語句如果用來從一個 10萬條記錄的表中查1條記錄,那查詢優化器會選擇“索引查詢”方式,如果該表進行了歸檔,當前只剩下5000條記錄了

    怎樣高效能的 Java 程式碼?

    在這篇文章中,我們將討論幾個有助於提升Java應用程式效能的方法。我們首先將介紹如何定義可度量的效能指標,然後看看有哪些工具可以用來度量和監控應用程式效能,以及確定性能瓶頸。 我們還將看到一些常見的Java程式碼優化方法以及最佳編碼實踐。最後,我們將看看用於提升Java應用程式效能的JVM調優技巧和架構調整

    SQL 語句效率問題(如何高效能的SQL語句)

    1.關於SQL查詢效率,100w資料,查詢只要1秒,與您分享: 機器情況 p4: 2.4 記憶體: 1 G os: windows 2003 資料庫: ms sql server 2000 目的: 查詢效能測試,比較兩種查詢的效能 SQL查詢效率 step by step

    深入理解 GIL:如何高效能及執行緒安全的 Python 程式碼

    6歲時,我有一個音樂盒。我上緊發條,音樂盒頂上的芭蕾舞女演員就會旋轉起來,同時,內部裝置發出“一閃一閃亮晶晶,滿天都是小星星”的叮鈴聲。那玩意兒肯定俗氣透了,但我喜歡那個音樂盒,我想知道它的工作原理是什麼。後來我拆開了,才看到它裡面一個簡單的裝置,機身內部鑲嵌著一個拇指大小的金

    mysql 高效能sql 防止索引失效總結

    資料庫調優步驟:1)首先檢視慢查詢日誌,找到有問題的 sql 語句   2)利用 explain 檢視各個屬性的狀態   3)利用 show profile  4)檢視資料庫內部各個關鍵節點的配置1、索引是排好序的能夠實現快速查詢的資料結構,因此對於複合索引來說,mysql會

    優化SQL查詢:如何高效能SQL語句

    1、 首先要搞明白什麼叫執行計劃? 執行計劃是資料庫根據SQL語句和相關表的統計資訊作出的一個查詢方案,這個方案是由查詢優化器自動分析產生的,比如一條SQL語句如果用來從一個 10萬條記錄的表中查1條記錄,那查詢優化器會選擇“索引查詢”方式,如果該表進行了歸檔,當前只剩

    用原生javascriptjquery中slideUp和slideDown效果

    設定塊級元素的CSS屬性overflow為hidden,然後動態改變height即可 var header=document.getElementsByTagName('header')[0]; header.style.transition='height 500ms'; header.style

    自己了一個jQuery的彈層,非常非常簡單

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <meta http-equiv="Content-Type" content="text

    小程序初體驗:手把手教你第一個小程序(一)

    輸入框 個人 創建 公測 快速 nsh 成功 too 調用 本文筆者將根據quick start中的範例代碼,帶大家簡單地剖析一下小程序的運行方式,並介紹小程序開發中一些通用的特性,帶著大家一步步寫出自己的小程序。 適用對象:前端初學者,對小程序開發感興趣者 tip

    威士忌與VR結合!飲酒者能自己的虛擬品酒筆記

    get img mes 自己的 roman enter -i indent ros 原文標題:威士忌與VR結合!飲酒者能寫出自己的虛擬品酒筆記 VR體驗“Glenfiddich虛擬無限”將在世界各地的特定地方提供。 VR體驗將會讓用戶運送到蘇格蘭D

    自己在項目中的一個Jquery插件和Jquery tab 功能

    分享 temp parameter turn sel url position pac tco 後臺查詢結果 PDFSearchResult實體類: [DataContract(Name = "PDFSearchResult")] public class P

    設計四個線程,當中共兩個線程每次對j添加1,另外兩個線程每次對j降低1。循環100次,程序。

    public read 設計 test6 ng- -m popu div for package cn.usst.DataTest6; /** * 設計四個線程,當中共兩個線程每次對j添加1,另外兩個線程每次對j降低1。循環100次,寫出程序。 * @ * *

    菜鳥,程序員,大師,神人 四個等級代碼的區別.

    python 程序 lte and odin mat env math odi # !/usr/bin/env python# -*- coding: utf-8 -*-# 據說係菜鳥,程序員,大師,神人 四個等級寫出代碼的區別...import math as m#for

    用shell或者python各種圖形

    用shell或者python寫出各種圖形首先是shell等邊三角形[[email protected]/* */ my_script]# sh ff.sh num:6 * *** ***** ******* ********* *********** [[email&

    怎樣才能高質量的偽原創,並且排名在前?

    站長 拿站 索引 思考 總結 失去 讀取 新增 操作方法 1、等價替換法 ①、文字排序法:如隨便拿本站的這篇文章“編輯寫偽原創文章的五大技巧”如何做等價替換法?通過近義詞以及打亂標題關鍵詞順序來達到等價替換,你可以改成“編輯五大技巧寫偽原創文章”,“五大技巧幫助編輯寫偽原創

    Python開發學習第一個Python程序

    Python編程語言 Python開發學習 目標:了解Python,了解Python的特征,了解Python的應用,掌握Linux下Python開發環境的搭建,理解Windows下Python環境搭建,寫出第一個Python程序。 什麽是Python 一種解釋型的、面向對象的、帶有動態語義

    4年前的隨筆---高質量程序的要點

    找到 post 規範 ++ 總量 word popu 清晰 之前 從1990年開始敲代碼。到如今已經快20年了。總結出寫出高質量程序的幾個要點: - 1、開始寫之前思路越清晰完整越好。 - 2、寫的過程中代碼一定要規範一致,這種代碼便於維護和改動。這個規範一致性包括名稱

    android:怎樣用一天時間,“飛機大戰”這種遊戲!(無框架-SurfaceView繪制)

    col ride raw ech tro cti 開發人員 contex epo 序言作為一個android開發人員,時常想開發一個小遊戲娛樂一下大家,今天就說說,我是怎麽樣一天寫出一個簡單的“飛機大戰”的.體驗地址:http://www.wandoujia.com/ap

    利用display屬性表格的布局樣式

    title pad asc -m this 1.5 thead pop .text demo地址:http://codepen.io/tianzi77/pen/gpBzjy 元素結構: <h1>display構造的table小樣例