jQuery教程(一)

jQuery 選擇器

  1. 元素 選擇器
  2. #id 選擇器
  3. .class 選擇器

jQuery 事件

  1. click() 是當(dāng)按鈕點(diǎn)擊事件被觸發(fā)時會調(diào)用一個函數(shù)
  2. dbclick() 當(dāng)雙擊元素時, 會發(fā)生dbclick事件
  3. mouseenter() 當(dāng)鼠標(biāo)指針穿過元素時, 會發(fā)生mouseenter事件
  4. mouseleave() 當(dāng)鼠標(biāo)指針離開元素時, 會發(fā)生mouseleave事件
  5. mousedown() 當(dāng)鼠標(biāo)指針移動到元素上方, 并按下鼠標(biāo)按鍵時, 會發(fā)生mousedown事件
  6. mouseup() 當(dāng)在元素上松開鼠標(biāo)按鈕時, 會發(fā)生mouseup事件
  7. hover() 用于模擬光標(biāo)懸停事件, 當(dāng)鼠標(biāo)移動到元素上時,會觸發(fā)指定的第一個函數(shù)(mouseenter);當(dāng)鼠標(biāo)移出這個元素時浇辜,會觸發(fā)指定的第二個函數(shù)(mouseleave)
$("#p1").hover(
    function(){
        alert("你進(jìn)入了 p1!");
    },
    function(){
        alert("拜拜! 現(xiàn)在你離開了 p1!");
    }
);
  1. focus() 當(dāng)元素獲得焦點(diǎn)時, 發(fā)生focus事件, 當(dāng)通過鼠標(biāo)點(diǎn)擊元素或通過tab鍵定位到元素時, 該元素會獲得焦點(diǎn)
  2. blur() 當(dāng)元素失去焦點(diǎn)時, 發(fā)生blur事件
  3. keydown() 在鍵盤上按下某鍵時發(fā)生, 一直按著則會不斷觸發(fā)(opera瀏覽器除外), 它返回的是鍵盤代碼
  4. keypress() 在鍵盤上按下一個按鍵俺驶,并產(chǎn)生一個字符時發(fā)生, 返回ASCII碼湘换。注意: shift狂秘、alt罐氨、ctrl等鍵按下并不會產(chǎn)生字符,所以監(jiān)聽無效 ,換句話說, 只有按下能在屏幕上輸出字符的按鍵時keypress事件才會觸發(fā)米间。若一直按著某按鍵則會不斷觸發(fā)
  5. keyup() 用戶松開某一個按鍵時觸發(fā), 與keydown相對, 返回鍵盤代碼
// 只允許按下的字母鍵生效, 65~90是所有小寫字母的鍵盤代碼范圍.
var validKeys = { start: 65, end: 90  };
$("#keys").keydown( validKeys, function(event){
    var keys = event.data;  //拿到validKeys對象.
    return event.which >= keys.start && event.which <= keys.end;
} );

jQuery 效果 - 隱藏/顯示

  1. hide(speed,callback) / show(speed,callback) 可選的speed參數(shù)規(guī)定隱藏/顯示的速度, 可以取以下值:"fast"强品、"fast"或毫秒, 可選的callback參數(shù)是隱藏或顯示完成后執(zhí)行的函數(shù)名稱
//第二個參數(shù)是一個字符串,表示過渡使用哪種緩動函數(shù)屈糊。(jQuery自身提供"linear" 和 "swing"的榛,其他可以使用相關(guān)的插件)。
$(document).ready(function(){
  $(".hidebtn").click(function(){
    $("div").hide(1000,"linear",function(){
      alert("Hide() 方法已完成!");
    });
  });
});
  1. toggle(speed,callback) 可以使用 toggle() 方法來切換 hide() 和 show() 方法

jQuery 效果 - 淡入淡出

  1. fadeIn(speed,callback) 用于淡入++已隱藏++的元素
<head>
    <script>
    $(document).ready(function(){
      $("button").click(function(){
        $("#div1").fadeIn();
        $("#div2").fadeIn("slow");
        $("#div3").fadeIn(3000);
      });
    });
    </script>
</head>

<body>
    <p>以下實(shí)例演示了 fadeIn() 使用了不同參數(shù)的效果逻锐。</p>
    <button>點(diǎn)擊淡入 div 元素夫晌。</button>
    <br><br>
    <div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div><br>
    <div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div><br>
    <div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div>
</body>
  1. fadeOut(speed, callback) 用于淡出可見元素
  2. fadeToggle() 可以在fadeIN()與fadeOut()方法之間進(jìn)行切換
  3. fadeTo() 允許漸變?yōu)榻o定的不透明度(值介于0與1之間)

jQuery 效果 - 滑動

  1. slideDown(speed,callback) 方法 用于向下滑動元素
<head>
<script> 
$(document).ready(function(){
  $("#flip").click(function(){
    $("#panel").slideDown("slow");
  });
});
</script>
 
<style type="text/css"> 
    #panel,#flip
    {
        padding:5px;
        text-align:center;
        background-color:#e5eecc;
        border:solid 1px #c3c3c3;
    }
    #panel
    {
        padding:50px;
        display:none;
    }
</style>
</head>
<body>
<div id="flip">點(diǎn)我滑下面板</div>
<div id="panel">Hello world!</div>
</body>
  1. slideUp(speed, callback)方法 用于向上滑動元素
  2. slideToggle()方法 可以在slideDown()與slideUp()方法之間進(jìn)行切換

jQuery 效果 - 動畫

  1. animate({params},speed,callback) 方法用于創(chuàng)建自定義動畫, 必須的params參數(shù)定義形成動畫的css屬性
<script> 
$(document).ready(function(){
  $("button").click(function(){
    $("div").animate({left:'250px'});
  });
});
</script> 
</head>
 
<body>
    <button>開始動畫</button>
    <p>默認(rèn)情況下,所有的 HTML 元素有一個靜態(tài)的位置昧诱,且是不可移動的晓淀。 
    如果需要改變?yōu)椋覀冃枰獙⒃氐?position 屬性設(shè)置為 relative, fixed, 或 absolute!</p>
    <div style="background:#98bf21;height:100px;width:100px;position:absolute;">
    </div>
</body>

注意: 默認(rèn)情況下鳄哭,所有 HTML 元素都有一個靜態(tài)位置要糊,且無法移動纲熏。
如需對位置進(jìn)行操作妆丘,要記得首先把元素的 CSS position 屬性設(shè)置為 relative、fixed 或 absolute局劲!

  1. animate() - 操作多個屬性
$("button").click(function(){
  $("div").animate({
    left:'250px',
    opacity:'0.5',
    height:'150px',
    width:'150px'
  });
});

可以用 animate() 方法來操作所有 CSS 屬性嗎勺拣?
是的,幾乎可以鱼填!不過药有,需要記住一件重要的事情:當(dāng)使用 animate() 時,必須使用 Camel 標(biāo)記法書寫所有的屬性名苹丸,比如愤惰,必須使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right赘理,等等宦言。
同時,色彩動畫并不包含在核心 jQuery 庫中商模。
如果需要生成顏色動畫奠旺,您需要從 jquery.com 下載 顏色動畫 插件蜘澜。

  1. animate() - 使用相對值, 該值相對于元素的當(dāng)前值, 需要在值的前面加上 += 或 -=
$("button").click(function(){
  $("div").animate({
    left:'250px',
    height:'+=150px',
    width:'+=150px'
  });
});
  1. animate() - 使用預(yù)定義的值
$("button").click(function(){
  $("div").animate({
    height:'toggle'
  });
});
  1. animate() - 使用隊(duì)列功能
$("button").click(function(){
  var div=$("div");
  div.animate({height:'300px',opacity:'0.4'},"slow");
  div.animate({width:'300px',opacity:'0.8'},"slow");
  div.animate({height:'100px',opacity:'0.4'},"slow");
  div.animate({width:'100px',opacity:'0.8'},"slow");
});
$("button").click(function(){
  var div=$("div");
  div.animate({left:'100px'},"slow");
  div.animate({fontSize:'3em'},"slow");
});

jQuery 停止動畫

  1. stop(stopAll,goToEnd)
可選的 stopAll 參數(shù)規(guī)定是否應(yīng)該清除動畫隊(duì)列。默認(rèn)是false响疚,即僅停止活動的動畫鄙信,允許任何排入隊(duì)列的動畫向后執(zhí)行。
可選的 goToEnd 參數(shù)規(guī)定是否立即完成當(dāng)前動畫忿晕。默認(rèn)是 false装诡。
因此,默認(rèn)地践盼,stop() 會清除在被選元素上指定的當(dāng)前動畫慎王。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("#start").click(function(){
    $("div").animate({left:'100px'},5000);
    $("div").animate({fontSize:'3em'},5000);
  });
  
  $("#stop").click(function(){
    $("div").stop();
  });

  $("#stop2").click(function(){
    $("div").stop(true);
  });

  $("#stop3").click(function(){
    $("div").stop(true,true);
  });
  
});
</script> 
</head>
<body>

<button id="start">開始</button>
<button id="stop">停止</button>
<button id="stop2">停止所有</button>
<button id="stop3">停止動畫,但完成動作</button>
<p>點(diǎn)擊 "開始" 按鈕開始動畫宏侍。</p>
<p>點(diǎn)擊 "停止" 按鈕停止當(dāng)前激活的動畫赖淤,但之后我們能再動畫隊(duì)列中再次激活。</p>
<p>點(diǎn)擊 "停止所有" 按鈕停止當(dāng)前動畫谅河,并清除動畫隊(duì)列咱旱,所以元素的所有動畫都會停止。</p>
<p>點(diǎn)擊 "停止動畫绷耍,但完成動作" 快速完成動作吐限,并停止它。</p> 

<div style="background:#98bf21;height:100px;width:200px;position:absolute;">HELLO</div>

</body>
</html>

jQuery callback方法

Callback 函數(shù)在當(dāng)前動畫 100% 完成之后執(zhí)行褂始。

jQuery - 鏈(Chaining)

通過jQuery, 可以把動作/方法鏈接在一起
Chaining允許我們在一條語句中運(yùn)行多個jQuery方法(在相同的元素上)

$("#p1").css("color","red").slideUp(2000).slideDown(2000);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诸典,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子崎苗,更是在濱河造成了極大的恐慌狐粱,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胆数,死亡現(xiàn)場離奇詭異肌蜻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)必尼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門蒋搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人判莉,你說我怎么就攤上這事豆挽。” “怎么了券盅?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵帮哈,是天一觀的道長。 經(jīng)常有香客問我渗饮,道長但汞,這世上最難降的妖魔是什么宿刮? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮私蕾,結(jié)果婚禮上僵缺,老公的妹妹穿的比我還像新娘。我一直安慰自己踩叭,他們只是感情好磕潮,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著容贝,像睡著了一般自脯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斤富,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天膏潮,我揣著相機(jī)與錄音,去河邊找鬼满力。 笑死焕参,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的油额。 我是一名探鬼主播叠纷,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼潦嘶!你這毒婦竟也來了涩嚣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤掂僵,失蹤者是張志新(化名)和其女友劉穎航厚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體看峻,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阶淘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了互妓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡坤塞,死狀恐怖冯勉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摹芙,我是刑警寧澤灼狰,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站浮禾,受9級特大地震影響交胚,放射性物質(zhì)發(fā)生泄漏份汗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一蝴簇、第九天 我趴在偏房一處隱蔽的房頂上張望杯活。 院中可真熱鬧,春花似錦熬词、人聲如沸旁钧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歪今。三九已至,卻和暖如春颜矿,著一層夾襖步出監(jiān)牢的瞬間寄猩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工骑疆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焦影,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓封断,卻偏偏與公主長得像斯辰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子坡疼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關(guān)注...
    程序員poetry閱讀 16,649評論 18 503
  • 警告請使用 document.write() 僅僅向文檔輸出寫內(nèi)容彬呻。如果在文檔已完成加載后執(zhí)行 document....
    鹿守心畔光閱讀 2,854評論 3 104
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性柄瑰。 1....
    LaBaby_閱讀 1,347評論 0 2
  • 通過jQuery闸氮,您可以選取(查詢教沾,query)HTML元素蒲跨,并對它們執(zhí)行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 659評論 0 3
  • 討論的話題是興趣是否有高下之分授翻。有人說興趣體現(xiàn)階層或悲,那么不言而喻興趣都是分階層了,必定有了高下堪唐。玩電競和讀古典文學(xué)...
    九尾貓Alvin閱讀 254評論 12 1