主頁 > 企業開發 > jQuery入門

jQuery入門

2020-09-30 10:12:03 企業開發

jQuery是什么

說白了jQuery是一個js庫

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

目的就簡潔的,快速的開發

學習jQuery本質: 就是學習呼叫這些函式(方法),

1.jQuery的優點

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

2.jQuery如何使用呢?

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

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

3.正式的開始使用它

3.1入口函式

這個就是一個人入口函式,相當于 DOMContentLoaded等待dom結構加載完再去執行js代碼

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

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

3.2 $是什么?

\(是jQuery的頂級物件,\) 與 jQuery是等價的,

3.3 jQuery物件與DOM物件

DOM與jQuery是可以互相轉換的,用元素的js獲取的就是DOM物件,$ 獲取的就是一個jquery物件

  1. jQuery 物件本質是: 利用$對DOM 物件包裝后產生的物件(偽陣列形式存盤),
  2. 只有 jQuery 物件才能使用 jQuery 方法,DOM 物件則使用原生的 JavaScirpt 方法,
  3. 相互的轉換, 原生中的方法,
// 1.DOM物件轉換成jQuery物件,方法只有一種
var box = document.getElementById('box');  // 獲取DOM物件
var jQueryObject = $(box);  // 把DOM物件轉換為 jQuery 物件

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

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

3.4 獲取元素(選擇器)

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

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

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

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

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

3.5 設定樣式怎么搞?直接用封裝的函式

  1. 簡單的樣式
$('div').css('屬性', '值')    
  1. jQuery里面的排它思想
// 想要多選一的效果,排他思想:當前元素設定樣式,其余的兄弟元素清除樣式,
$(this).css(“color”,”red”);
$(this).siblings(). css(“color”,””);
  1. 隱式迭代
    所謂的隱式迭代指的就是 自動的遍歷dom元素
// 遍歷內部 DOM 元素(偽陣列形式存盤)的程序就叫做隱式迭代,
// 簡單理解:給匹配到的所有元素進行回圈遍歷,執行相應的方法,而不用我們再進行回圈,簡化我們的操作,方便我們呼叫,
$('div').hide();  // 頁面中所有的div全部隱藏,不用回圈操作
  1. 鏈式編程?(很重要!!!!)
    $(this).css('color', 'red').sibling().css('color', '');

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

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

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

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

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

  1. 設定樣式,在實際的開發中比較常用
//比如我現在有幾個樣式在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() ;

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

  1. 效果-顯示隱藏

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

?語法規范如下:

代碼演示

<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);
            })
            // 一般情況下,我們都不加引數直接顯示隱藏就可以了
        });
    </script>
</body>
  1. 效果-滑入滑出

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

語法規范如下:

代碼示例:

<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. 效果-自定義影片(功能非常的強大)

通過引數的傳遞可以模擬以上所有影片,方法為:animate() ;
語法規范:

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

? 停止影片排隊的方法為:stop() ;

  • stop() 方法用于停止影片或效果,
  • stop() 寫到影片或者效果的前面, 相當于停止結束上一次的影片,
    ? 總結: 每次使用影片之前,先呼叫 stop() ,在呼叫影片,
  1. 事件的切換

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

語法

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

代碼實體:

<body>
    <ul >
        <li>
            <a href="https://www.cnblogs.com/BM-laoli/p/#">微博</a>
            <ul><li><a href="">私信</a></li><li><a href="">評論</a></li><li><a href="">@我</a></li></ul>
        </li>
        <li>
            <a href="https://www.cnblogs.com/BM-laoli/p/#">微博</a>
            <ul><li><a href="">私信</a></li><li><a href="">評論</a></li><li><a href="">@我</a></li></ul>
        </li>
    </ul>
    <script>
        $(function() {
            // 滑鼠經過
            // $(".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 就是滑鼠經過和離開的復合寫法
            // $(".nav>li").hover(function() {
            //     $(this).children("ul").slideDown(200);
            // }, function() {
            //     $(this).children("ul").slideUp(200);
            // });
            // 2. 事件切換 hover  如果只寫一個函式,那么滑鼠經過和滑鼠離開都會觸發這個函式
            $(".nav>li").hover(function() {
                // stop 方法必須寫到影片的前面
                $(this).children("ul").stop().slideToggle();
            });
        })
    </script>
</body>

總結一下:jQuery 的基礎使用:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/141701.html

標籤:JavaScript

上一篇:演算法的理論與實踐

下一篇:DOM解讀

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more