日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

jQuery入門

 python_lover 2021-11-13

jQuery是什么

說白了jQuery是一個js庫

當然了除了這個庫之外,我們還有跟多的庫,比如:Prototype、YUI、Dojo、Ext JS、移動端的zepto等

目的就簡潔的,快速的開發(fā)

學習jQuery本質(zhì): 就是學習調(diào)用這些函數(shù)(方法)。

1.jQuery的優(yōu)點

  1. 輕量級。核心文件才幾十kb,不會影響頁面加載速度。
  2. 跨瀏覽器兼容,基本兼容了現(xiàn)在主流的瀏覽器。
  3. 鏈式編程、隱式迭代。
  4. 對事件、樣式、動畫支持,大大簡化了DOM操作。
  5. 支持插件擴展開發(fā)。有著豐富的第三方的插件,例如:樹形菜單、日期控件、輪播圖等。
  6. 免費、開源。

2.jQuery如何使用呢?

  1. 首選你要去下載
  2. 在你的scrpit標簽中(末尾)引入這個文件,當然了你也可以在加載的時候在頁面頭部引入,比如你使用windows.load.....,不過在jquer中有更好的解決方案
  3. 最簡單的使用
$('div').hide(),//隱藏盒子

特別要說明的一點是:jQuery有一些兼容的小問題,但.....你不用去管它

3.正式的開始使用它

3.1入口函數(shù)

這個就是一個人入口函數(shù),相當于 DOMContentLoaded等待dom結(jié)構(gòu)加載完再去執(zhí)行js代碼

// 第一種: 簡單易用。
$(function () {   
    ...  // 此處是頁面 DOM 加載完成的入口
}) ; 

// 第二種: 繁瑣,但是也可以實現(xiàn)
$(document).ready(function(){
   ...  //  此處是頁面DOM加載完成的入口
});

3.2 $是什么?

\(是jQuery的頂級對象,\) 與 jQuery是等價的,

3.3 jQuery對象與DOM對象

DOM與jQuery是可以互相轉(zhuǎn)換的,用元素的js獲取的就是DOM對象,$ 獲取的就是一個jquery對象

  1. jQuery 對象本質(zhì)是: 利用$對DOM 對象包裝后產(chǎn)生的對象(偽數(shù)組形式存儲)。
  2. 只有 jQuery 對象才能使用 jQuery 方法,DOM 對象則使用原生的 JavaScirpt 方法。
  3. 相互的轉(zhuǎn)換, 原生中的方法。
// 1.DOM對象轉(zhuǎn)換成jQuery對象,方法只有一種
var box = document.getElementById('box');  // 獲取DOM對象
var jQueryObject = $(box);  // 把DOM對象轉(zhuǎn)換為 jQuery 對象

// 2.jQuery 對象轉(zhuǎn)換為 DOM 對象有兩種方法:
//   2.1 jQuery對象[索引值]
var domObject1 = $('div')[0]

//   2.2 jQuery對象.get(索引值)
var domObject2 = $('div').get(0)
  

3.4 獲取元素(選擇器)

  1. 獲取很簡單直接就是 $ 這個比較簡單,也叫 基礎選擇器,當然了,里面還有更多的操作功能

其實這個很簡單,跟css里面的語法很簡單的

  1. 層級選擇器
    顧名思義 就是選擇具有層級關(guān)系的元素,主要就是兩個后代選擇器;

后代選擇器和子代選擇器。(親兒子選擇器和子子孫孫選擇器)

  1. 篩選選擇器
    這里使用的時候,我們都是在站在父子兄的角度去分析的

3.5 設置樣式怎么搞?直接用封裝的函數(shù)

  1. 簡單的樣式
$('div').css('屬性', '值')    
  1. jQuery里面的排它思想
// 想要多選一的效果,排他思想:當前元素設置樣式,其余的兄弟元素清除樣式。
$(this).css(“color”,”red”);
$(this).siblings(). css(“color”,””);
  1. 隱式迭代
    所謂的隱式迭代指的就是 自動的遍歷dom元素
// 遍歷內(nèi)部 DOM 元素(偽數(shù)組形式存儲)的過程就叫做隱式迭代。
// 簡單理解:給匹配到的所有元素進行循環(huán)遍歷,執(zhí)行相應的方法,而不用我們再進行循環(huán),簡化我們的操作,方便我們調(diào)用。
$('div').hide();  // 頁面中所有的div全部隱藏,不用循環(huán)操作
  1. 鏈式編程?(很重要!!!!)
    $(this).css('color', 'red').sibling().css('color', '');

3.5 有沒有更好的樣式操作呢?

在juqery中。樣式的操作主要的就是有兩種css() 還有就是設置樣式

  1. css(),用來簡單的處理樣式,主要有三種使用形式,當然了也可以拿來操作;類
// 1.參數(shù)只寫屬性名,則是返回屬性值
var strColor = $(this).css('color');

// 2.  參數(shù)是屬性名,屬性值,逗號分隔,是設置一組樣式,屬性必須加引號,值如果是數(shù)字可以不用跟單位和引號
$(this).css(''color'', ''red'');

// 3.  參數(shù)可以是對象形式,方便設置多組樣式。屬性名和屬性值用冒號隔開, 屬性可以不用加引號
$(this).css({ "color":"white","font-size":"20px"});

  1. 設置樣式,在實際的開發(fā)中比較常用
//比如我現(xiàn)在有幾個樣式在css中
.current{
    color:#ffff;
}


$("div").addClass("current");

// 2.刪除類
$("div").removeClass("current");

// 3.切換類
$("div").toggleClass("current");
  1. 特別需要說明的是:
    原生 JS 中 className 會覆蓋元素原先里面的類名,jQuery 里面類操作只是對指定類進行操作,不影響原先的類名。哈哈哈jQuery確實是比較強大的

3.6 jquery里面動畫特效呢?

首先我們來看一下這里的這個簡單的表格

  • 顯示隱藏:show() / hide() / toggle() ;
  • 劃入畫出:slideDown() / slideUp() / slideToggle() ;
  • 淡入淡出:fadeIn() / fadeOut() / fadeToggle() / fadeTo() ;
  • 自定義動畫:animate() ;

小心!動畫或者效果一旦觸發(fā)就會執(zhí)行,如果多次觸發(fā),就造成多個動畫或者效果排隊執(zhí)行。我們可以是喲jQuery中的另一個方法,停止動畫排隊stop()

  1. 效果-顯示隱藏

常見有三個方法:show() / hide() / toggle() ;

?語法規(guī)范如下:

代碼演示

<body>
    <button>顯示</button>
    <button>隱藏</button>
    <button>切換</button>
    <div></div>
    <script>
        $(function() {
            $("button").eq(0).click(function() {
                $("div").show(1000, function() {
                    alert(1);
                });
            })
            $("button").eq(1).click(function() {
                $("div").hide(1000, function() {
                    alert(1);
                });
            })
            $("button").eq(2).click(function() {
              $("div").toggle(1000);
            })
            // 一般情況下,我們都不加參數(shù)直接顯示隱藏就可以了
        });
    </script>
</body>
  1. 效果-滑入滑出

常見有三個方法:slideDown() / slideUp() / slideToggle() ;

語法規(guī)范如下:

代碼示例:

<body>
    <button>下拉滑動</button>
    <button>上拉滑動</button>
    <button>切換滑動</button>
    <div></div>
    <script>
        $(function() {
            $("button").eq(0).click(function() {
                // 下滑動 slideDown()
                $("div").slideDown();
            })
            $("button").eq(1).click(function() {
                // 上滑動 slideUp()
                $("div").slideUp(500);
            })
            $("button").eq(2).click(function() {
                // 滑動切換 slideToggle()
                $("div").slideToggle(500);
            });
        });
    </script>
</body>
  1. 效果-淡入淡出

常見有四個方法:fadeIn() / fadeOut() / fadeToggle() / fadeTo() ;

示例代碼:

<body>
    <button>淡入效果</button>
    <button>淡出效果</button>
    <button>淡入淡出切換</button>
    <button>修改透明度</button>
    <div></div>
    <script>
        $(function() {
            $("button").eq(0).click(function() {
                // 淡入 fadeIn()
                $("div").fadeIn(1000);
            })
            $("button").eq(1).click(function() {
                // 淡出 fadeOut()
                $("div").fadeOut(1000);
            })
            $("button").eq(2).click(function() {
                // 淡入淡出切換 fadeToggle()
                $("div").fadeToggle(1000);
            });
            $("button").eq(3).click(function() {
                //  修改透明度 fadeTo() 這個速度和透明度要必須寫
                $("div").fadeTo(1000, 0.5);
            });
        });
    </script>
</body>

  1. 效果-自定義動畫(功能非常的強大)

通過參數(shù)的傳遞可以模擬以上所有動畫,方法為:animate() ;
語法規(guī)范:

<body>
    <button>動起來</button>
    <div></div>
    <script>
        $(function() {
            $("button").click(function() {
                $("div").animate({
                    left: 500,
                    top: 300,
                    opacity: .4,
                    width: 500
                }, 500);
            })
        })
    </script>
</body>
  1. 至關(guān)重要的一點,停止動畫排隊stop
    動畫或者效果一旦觸發(fā)就會執(zhí)行,如果多次觸發(fā),就造成多個動畫或者效果排隊執(zhí)行。

?停止動畫排隊的方法為:stop() ;

  • stop() 方法用于停止動畫或效果。
  • stop() 寫到動畫或者效果的前面, 相當于停止結(jié)束上一次的動畫。
    ? 總結(jié): 每次使用動畫之前,先調(diào)用 stop() ,在調(diào)用動畫。
  1. 事件的切換

jQuery中為我們添加了一個新事件 hover() ; 功能類似 css 中的偽類 :hover

語法

hover([over,]out)     // 其中over和out為兩個函數(shù)
  • over:鼠標移到元素上要觸發(fā)的函數(shù)(相當于mouseenter)
  • out:鼠標移出元素要觸發(fā)的函數(shù)(相當于mouseleave)
  • 如果只寫一個函數(shù),則鼠標經(jīng)過和離開都會觸發(fā)它

代碼實例:

<body>
    <ul class="nav">
        <li>
            <a href="#">微博</a>
            <ul><li><a href="">私信</a></li><li><a href="">評論</a></li><li><a href="">@我</a></li></ul>
        </li>
        <li>
            <a href="#">微博</a>
            <ul><li><a href="">私信</a></li><li><a href="">評論</a></li><li><a href="">@我</a></li></ul>
        </li>
    </ul>
    <script>
        $(function() {
            // 鼠標經(jīng)過
            // $(".nav>li").mouseover(function() {
            //     // $(this) jQuery 當前元素  this不要加引號
            //     // show() 顯示元素  hide() 隱藏元素
            //     $(this).children("ul").slideDown(200);
            // });
            // // 鼠標離開
            // $(".nav>li").mouseout(function() {
            //     $(this).children("ul").slideUp(200);
            // });
            // 1. 事件切換 hover 就是鼠標經(jīng)過和離開的復合寫法
            // $(".nav>li").hover(function() {
            //     $(this).children("ul").slideDown(200);
            // }, function() {
            //     $(this).children("ul").slideUp(200);
            // });
            // 2. 事件切換 hover  如果只寫一個函數(shù),那么鼠標經(jīng)過和鼠標離開都會觸發(fā)這個函數(shù)
            $(".nav>li").hover(function() {
                // stop 方法必須寫到動畫的前面
                $(this).children("ul").stop().slideToggle();
            });
        })
    </script>
</body>

總結(jié)一下:jQuery 的基礎使用:

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多