亚洲乱码卡一卡二卡三永久-亚洲乱码一二三四区-亚洲乱码一区二区三区在线观看-亚洲伦理一区-成人在色线视频在线观看免费大全-成人在线91

1. 記得使用 $(document).ready

如果你的代碼是操作某個DOM元素的,則記得把代碼放到


  1. $(document).ready(function () { ... });

代碼塊內,或者把它放在HTML代碼的末尾。當只有一個 function() 傳遞給 $() 的時候, $(function () {}) 與 $(document).ready(function () {}) 意思一樣。

2. 使用 $.noConflict(); 或者給 jQuery 重命名,如:$jq

如果你的代碼與另一個使用 $ 語法的框架沖突,則記得使用 $.noConflict(); 方法,并且把代碼


  1. $(document).ready(function () {

修改為:


  1. jQuery(function ($) {

或者你也可以定義 $jq = jQuery.noConflict(); ,然后使用 $jq 。

3. 緩存jQuery對象并盡量使用鏈式操作

調用jQuery的 $() 方法的非常消耗資源的,重復調用它則會非常低效。要避免這樣的情況:


  1. $('.test').addClass('hello');
  2. $('.test').css('color', 'orange');
  3. $('.test').prop('title', 'Hello world');

應該用一個變量把jQuery對象緩存下來:


  1. var $test = $('.test');
  2.  
  3. $test.addClass('hello');
  4. $test.css('color', 'orange');
  5. $test.prop('title', 'Hello world');

或者,更好的情況是使用鏈式操作減少重復:


  1. $('.test').addClass('hello').css('color', 'orange').prop('title', 'Hello world');

同時,很多函數(shù)支持把多個值放入一個對象,然后調用一次來改變多個值,如:


  1. $('.test').css('color', 'orange').css('background-color', 'blue');

可以替換為:


  1. $('.test').css({ 'color': 'orange', 'background-color': 'blue' });

4. 變量命名規(guī)則

jQuery變量一般用 $ 開頭,以便和普通的JavaScript變量區(qū)分開來。


  1. var $this = $(this);

5. 了解DOM的屬性和方法

jQuery的其中一個目標就是抽象DOM,了解DOM的屬性是非常有用的。學習jQuery最常犯的一個錯誤就是不學習DOM屬性而使用jQuery訪問DOM的屬性。


  1. $('img').click(function () {
  2. $(this).attr('src'); // Bad!
  3. });

上面的代碼中, this 指向的是 click 事件中綁定的元素。這段代碼執(zhí)行緩慢而且冗長。下面的代碼可以實現(xiàn)相同的功能,并且代碼更短、執(zhí)行更快、可讀性更強:


  1. $('img').click(function () {
  2. this.src; // Much, much better
  3. });

6. 慣用語法創(chuàng)建元素

雖然下面兩段代碼功能基本相同,語法也沒有錯誤,但是更推薦第一種寫法 :


  1. $('<p>', {
  2. text: 'This is a ' + variable,
  3. "class": 'blue slider',
  4. title: variable,
  5. id: variable + i
  6. }).appendTo(obj);

相比之下,一個字符串拼接起來的則看起來可讀性更差:


  1. $('<p class="blue slider" id="' + variable + i + '" title="' + variable + '">This is a ' + variable + '</p>').appendTo(obj);

7. 動畫事件的回調函數(shù)

假設你希望點擊一個段落的時候,慢慢的隱藏元素,之后刪除頁面上的該DOM元素。你可能會使用鏈式操作這么寫:


  1. $("p").click(function(e) {
  2. $(this).fadeOut("slow").remove();
  3. });

該例子中, remove() 方法會在 fadeOut() 動畫執(zhí)行完之前就執(zhí)行,影響漸隱的效果而使元素直接消失。相反的,你應該使用回調函數(shù):


  1. $("p").click(function(e){
  2. $(this).fadeOut("slow", function(){
  3. $(this).remove();
  4. });
  5. });

fadeOut() 的第二個參數(shù)是一個匿名函數(shù),只會在 fadeOut() 動畫執(zhí)行完之后執(zhí)行一次。這樣就可以實現(xiàn)漸隱的效果,然后刪除元素。

穩(wěn)定

產品高可用性高并發(fā)

貼心

項目群及時溝通

專業(yè)

產品經理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質開發(fā)
  • 返回頂部
主站蜘蛛池模板: 午夜黄色福利 | 制服丝袜在线第一页 | 污视频网站免费看 | 97福利视频导航欧美一区 | xxx18动漫| 色综合888| 黄色欧美在线观看 | 韩国春性xxxx猛交 | 国产91精品不卡在线 | 99干99| 日韩av线观看 | 国产综合在线观看 | 一级毛片免费一级直接观看 | 欧美视频免费 | 一本大道香蕉在线高清视频 | 午夜视频免费看 | 欧美18—19sex性护士 | 日韩美女色高清在线看 | 黄色片地址 | 成人高辣h视频一区二区在线观看 | 国产成社区在线视频观看 | 午夜激情视频在线 | 夜夜骑首页 | 久9视频这里只有精品 | 小黄漫画激情四射在线观看 | 成人精品一区二区不卡视频 | 2020久久精品国产免费 | 亚洲影院在线播放 | freee性欧美| 久久国产精品亚洲一区二区 | 欧美91| 男女做污污无遮挡激烈免费 | 日韩精品在线观看视频 | 免费又黄又猛又爽的大片 | 欧美日韩精品国产一区在线 | 国内外成人免费在线视频 | 国产在线a不卡免费视频 | 久久精品国产国产精品四凭 | 国产成人精品免费视频 | 久爱午夜精品免费视频 | 欧美日韩精彩视频 |