成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

jQuery是如何工作的

開發 前端
最近發現jQuery很成熟了,我看了jQuery官方的document,這里先提供入門章節內容。主要介紹jQuery是如何工作的。

我最近在做一個項目,需要用到ajax,我以前做ajax項目,已經有很多年了,jQuery還不成熟,需要自己編寫大量的Javascript代碼。

最近發現jQuery很成熟了,我看了jQuery官方的document,這里先提供入門章節內容。

專題:jQuery從入門到精通

對jQuery的簡要介紹和一些需要了解的如何使用jQuery的概念

這段主要教授你如何開始使用jQuery. 如果你還沒有一個測試頁面,請先從按照下面的代碼創建一個HTML頁面。

  1. <!doctype html>  
  2. <html> 
  3.  <head> 
  4.     <meta charset="utf-8"> 
  5.     <title>Demo</title> 
  6.  </head> 
  7.  <body> 
  8.     <a href="http://jquery.com/">jQuery</a> 
  9.     <script src="jquery.js"></script>
  10.     <script> 
  11.     </script>
  12.  </body> 
  13. </html> 

編輯Script標簽的src屬性,指向你的jQuery.js屬性。例如,如果你的jQuery.js和HTML文件在同一文件夾下:

  1. <script src="jquery.js"></script> 

頁面加載完成時運行代碼

很多Javascript程序員都要做的第一件事情,就是加這樣的一些代碼到他們的程序:

  1. window.onload = function(){ alert("welcome"); } 

這段代碼將會在頁面加載成功時被正確執行,但是,這段代碼的問題是Javascript代碼將會在所有的圖片信息被全部下載完成后執行(這里包含了廣告欄)。這里使用首先Window.onload的原因是HTML在你最初運行這段代碼的時候,HTML文檔并沒有完全加載。

To circumvent both problems, jQuery has a simple statement that checks the document and waits until it's ready to be manipulated, known as the ready event:

jQuery有一個很簡單的聲明來檢查文檔,和判斷文檔是否已經準備完成,這里稱之為 ready event:

  1. $(document).ready(function(){  
  2.    // Your code here  
  3.  }); 

我們在ready event中添加一個超鏈接點擊的處理方法。

  1. $(document).ready(function(){  
  2.   $("a").click(function(event){  
  3.     alert("Thanks for visiting!");  
  4.   });  
  5. }); 

保存HTML文件,在瀏覽器中刷新此文件,點擊網頁中的超鏈接,在連接到指定頁面之前首先會彈出一個提示框。

在點擊和其他的很多事件中,你可以在這里使用event.preventDefault()來阻止其進行默認行為。

  1. $(document).ready(function(){  
  2.    $("a").click(function(event){  
  3.      alert("As you can see, the link no longer took you to jquery.com");  
  4.      event.preventDefault();  
  5.    });  
  6.  }); 

完整示例

這里提供一個完整的HTML文件的示例來演示之前我們講述的內容。注意這里連接到了Google’s CDN 來加載jQuery的核心庫。你最好將它放在一個單獨文件中,并且在Head標簽中完成對它的加載。

  1. <!DOCTYPE html> 
  2.  <html lang="en"> 
  3.  <head> 
  4.    <meta charset="utf-8"> 
  5.    <title>jQuery demo</title> 
  6.  </head> 
  7.  <body> 
  8.    <a href="http://jquery.com/">jQuery</a> 
  9.    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
  10.    <script> 
  11.      $(document).ready(function(){  
  12.        $("a").click(function(event){  
  13.          alert("As you can see, the link no longer took you to jquery.com");  
  14.          event.preventDefault();  
  15.        });  
  16.      });  
  17.    </script> 
  18.  </body> 
  19.  </html> 

增加和刪除css樣式

重要: 接下來的jQuery示例需要放在ready event內,這樣在文檔準備結束后立即執行。

我們另一種常常做的事情,便是增加(或者刪除)一個css樣式。

首先我們在<head>標簽內增加一些樣式:

  1. <style>  
  2.     a.test { font-weight: bold; }  
  3.  </style> 

然后在代碼內使用addClass方法

  1. $("a").addClass("test"); 

所有超鏈接會被加粗。

要刪除此樣式,只需要使用 remove class方法。 (允許添加多個樣式到html)

  1. $("a").removeClass("test"); 

特效

jQuery提供了一組特效,使用這些特效可以讓你的網站脫穎而出,你只需要將上面的測試文件添加如下代碼就可以進行測試:

  1. $("a").click(function(event){  
  2.    event.preventDefault();  
  3.    $(this).hide("slow");  
  4.  }); 

如果你點擊超鏈接,你所點擊的超級鏈接會被隱藏。

回調函數

回調函數是指父方法運行通過后傳遞參數并且進行調用的函數。回調函數的特殊之處在父函數可以在回調函數運行之前運行。另一個重要的點是要知道如何正確的傳遞回調。這也是我常常忘記的正確語法。

無參數回調

你可以使用下面的代碼來設定回調參數。

  1. $.get('myhtmlpage.html', myCallBack); 

注意 第二個參數只包含回調函數的名字(不是字符串并且不包含括號對). Javascript的函數可以像參數一樣傳遞,并且在后面的代碼執行。

包含參數的回調

你可能會這樣問,"如果包含參數,你會怎么做?"。

錯誤的方式

錯誤的調用方式(不會被執行)

  1. $.get('myhtmlpage.html', myCallBack(param1, param2)); 

這種方式并不會被調用,因為它調用了

  1. myCallBack(param1, param2) 

它的執行結果會被作為第二個參數傳遞給$get()函數

正確的方式

上面的方式問題在于 myCallBack在作為函數傳遞之前先被進行了評估。Javascrip和的jQuery 將函數擴展為函數指針,例如IE的設定Timeout函數。

下面的方法,創建了一個匿名函數并且注冊了回調函數。注意這里使用了function(){}匿名函數只做了一件事情,使用兩個參數param1,param2調用myCallBack方法。

  1. $.get('myhtmlpage.html'function(){  
  2.  myCallBack(param1, param2);  
  3. }); 

param1和param2是$get()方法獲取頁面完成后提供的參數。

原文:http://www.cnblogs.com/daitou0322/archive/2011/08/07/2130138.html

【編輯推薦】

  1. jQuery性能優化
  2. jQuery設計思想
  3. 7月20款最新且極具創意的jQuery插件(附下載)
  4. jQuery實現仿百度搜索時的下拉列表
  5. 教你開發一款極為簡單實用的jQuery圖表插件
責任編輯:陳貽新 來源: KangPeng的博客
相關推薦

2021-05-10 17:20:55

AIOps開發人員人工智能

2023-04-18 14:53:48

2023-04-18 15:09:50

2010-08-02 16:56:03

ICMP協議

2021-08-03 14:29:30

ARPANET互聯網協議TCP

2024-09-06 17:55:27

Springboot開發

2023-03-06 00:27:02

Kubernetesscheduler系統

2024-02-22 08:00:00

SoraOpenAI

2022-05-18 08:00:00

JavaScriptFetch數據

2022-08-08 08:00:00

人工智能機器學習計算機應用

2024-08-19 00:25:00

2021-02-26 14:40:16

Kubernetes調度器

2022-02-11 10:27:28

面部識別算法人工智能

2020-09-11 08:41:50

域名系統DNS網絡

2022-08-12 07:00:00

NFC安全性RFID

2023-11-24 17:20:41

無人機無人駕駛飛行器

2023-03-21 10:20:20

2017-11-17 09:13:31

Java注解

2022-09-16 00:11:45

PyTorch神經網絡存儲

2023-05-17 15:36:57

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: h片在线观看网站 | 日韩网站在线 | 久久婷婷国产香蕉 | 国产精品视频网 | 国产精品一区一区三区 | 中文天堂在线一区 | 亚洲精品一区二三区不卡 | 久久久精品一区二区三区 | 国产成人精品免费视频大全最热 | 国产精品一区一区 | 久久久久久久久蜜桃 | 国产免费av在线 | 欧美一级二级三级视频 | 国产亚洲精品久久19p | 国产女人与拘做受免费视频 | 色爱综合网 | 国产精品一区二区三区四区 | 欧美aaa | 在线国产精品一区 | 国产精品亚洲成在人线 | 国产精品久久久久久久免费大片 | 日韩在线视频一区二区三区 | 久久精品网 | 99视频久| 91免费小视频 | 天天av综合| 国产专区在线 | 久久高清精品 | 成人性视频在线 | 久久99精品久久久久久狂牛 | 爱爱视频网 | 亚洲视频一区 | 久久精品一区 | 成人免费在线 | 精品二区 | 免费黄色成人 | 日本中文字幕日韩精品免费 | 亚洲一区二区三区在线 | 亚洲美女天堂网 | 亚洲精品视频一区二区三区 | 精品久久久一区 |