国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

jquery集訓營

guqiu / 1954人閱讀

摘要:不論怎樣嵌套,定位父級是誰,都是到達頁面邊緣的距離。原生的相對于定位的祖先節點的距離。后來添加的照樣有事件,這是通過事件委托實現的。如果用普通寫法,新添加的是沒有事件的。一旦用時,一定要是用的。

元素的尺寸

width() height() ★★★★★

innerWidth() innerHeight() ★★★★★

outerWidth() outerHeight() ★★★★★

參數的作用

與原生JS的區別

元素尺寸的獲取



    
        
    
    
    


div
元素尺寸的設置
與原生JS獲取尺寸的區別
$(function(){
   alert($("#div1").get(0).offsetWidth); //0 原生的JS是獲取不到隱藏元素的尺寸的
   alert($("#div1").width()); //100 JQ是可以獲取隱藏元素的尺寸的
 })
實戰小技巧

可視區的尺寸
頁面的尺寸




    
    可視區的尺寸
    
    
    


div
滾動距離

scrollTop() ★★★★★scr
ollLeft() ★
滾動距離




    
    可視區的尺寸
    
    
    


div
元素距離

offset() ★★★★★

left top
position() ★★★

left top
不認margin值

offset()



    
    到達頁面的距離:offset()
    
    
    


position
  alert($("#div2").position().left); //0
 #div2 {width: 100px; height: 100px; position: relative; left: 50px; background: yellow;}
  
實戰小技巧

利用計算原理,得到相應值
offsetParent() ★
例子:懶加載頁面中的圖片
計算出到有定位的祖先節點的距離




    
    
    
    
    


    

懶加載圖片




    
    
    
    
    


    
JQ的事件

on() ★★★★★

off() ★★★★★

JQ中都是綁定的形式
支持多事件寫法
click()寫法,也是采用off()取消

用on()的形式綁定事件



    
    jQuery中的事件
    
    


    
aaaaaa
用off()取消事件



    
    jQuery中的事件
    
    


    
aaaaaa
Event對象

常用性★★★★★

pageX, pageY 與cient的區別
which
target
stopPropagation()
preventDefault()
return false

pageX和pageY;clientX和clientY



    
    jQuery中的event事件對象
    
    
    


    
aaaaaa
which鍵盤鍵值



    
    jQuery中的event事件對象
    
    
    


    
aaaaaa
ev.target事件源



    
    jQuery中的event事件對象
    
    
    


    
aaaaaa
ev.stopPropagation() 阻止冒泡



    
    jQuery中的event事件對象
    
    
    


    
aaaaaa
ev.preventDefault() 阻止默認事件



    
    jQuery中的event事件對象
    
    
    


    
aaaaaa
return false 既阻止默認事件又阻止冒泡



    
    jQuery中的event事件對象
    
    
    


    
aaaaaa
JQ實戰小技巧

多次添加on的處理方式
例子:拖拽效果

多次添加on的處理方式



    
    多次添加on的處理方式
    
    
    


    
aaaaaa
span
用jQuery實現拖拽效果



    
    用JQ實現拖拽
    
    
    


    
div
事件委托 delegate() ★★★★★

委托的好處
ev.delegateTarget




    
    事件委托
    
    
    


    
    
  • 11111
  • 11111
  • 11111
  • 11111
  • 11111
undelegate()

取消委托

trigger()

比click()形式更強大
事件的命名空間
例子:主動觸發的添加內容




    
    事件的命名空間
    
    
    


    
    
  • 11111
  • 11111
  • 11111
  • 11111
  • 11111
事件的命名空間



    
    事件的命名空間
    
    
    


    
div
事件的命名空間2



    
    事件的命名空間
    
    
    


    
div
工具方法

教程網站

$.merge()



    
    
    
    
    



$.type()

★★★★★比原生typeof更強大




    
    $.type()
    
    
    


    
div

$.isFunction() ★★★

$.isNumeric() ★★★

$.isArray() ★★★

$.isWindow() ★★★

$.isEmptyObject() ★★★

$.isPlainObject() ★★★

$.extend() ★★★★★

對象繼承操作
深拷貝操作




    
    $.extend() 對象的拷貝
    
    



$.proxy() ★★★

兩處傳參的的區別
$.proxy()改變this指向的用法




    
    $.proxy改變this指向
    
    



用$.proxy()傳參的用法




    
    $.proxy改變this指向
    
    






    
    $.proxy改變this指向
    
    



JQ實戰小技巧

利用This改指向,更加方便




    
    $.proxy改變this指向
    
    
    


    

本課練習:登錄彈窗效果

$.map()

$.map方法也是用來遍歷數組和對象,但是會返回一個新對象




    
    
    
    
    



$.grep()



    
    
    
    
    



$.unique()



    
    
    
    
    


    
div
div
div
$.inArray()



    
    
    
    
    


    
div
div
div
$.makeArray()



    
    
    
    
    


    
div
div
div
$.trim()

用于移除字符串頭部和尾部多余的空格

$.trim("   Hello   ") // Hello
ajax擴展 $.param() ★★★



    
    
    
    
    


    
div
div
div
serializeArray()

常用度★★★




    
    
    
    
    


    
load()

常用度 ★篩選的功能




    
    
    
    
    


    
$.getScript()

常用度★
$.getJSON
常用度★

JSONP,不受同源影響

建議直接使用問號

$(function(){
            // $.getJson() 動態請求json或JsonP
            //直接用$.getJSON,我們就不需要再通過設置dataType: json了
            $.getJSON("data.php", function(data){
                console.log(data);
            }); //data.php返給我們的是一個json格式
 })
jsonp的形式
$.getJSON("data.php?callback=?", function(data){ //data.php返回的是jsonp的形式,我們就可以后面添上callback=? 注意其中callback是key值,而問號?是value值。一旦用getJSON時,一定要是用callback=?的。如果給callback指定了名稱,那么返回的是字符串形式,并不是json形式,在getJSON里面就解析不了,所以就只能走error。所以在$.getJSON()里面給callback命名是沒有意義的,一定要是用?才可以自動解析
                console.log(data);
            }).error(function(err){
                console.log(err);
            });
            $.ajax({ //在使用ajax的時候,可以給callback自定義名稱,例如下面定義了“show”
                url:"data.php?callback=show",
                success: function(data){
                    //返回的數據就是一個類似"show({name: "hello"})"的字符串,然后再后續處理進行使用
                }
            })
            //另外如果在$.ajax()中設置了datatype為"jsonp",那么在url的地方是不需要加callback的,因為它會自動添加好
$.ajaxSetup()

常用度★
默認配置

$(function(){
            //如果有很多ajax,那么可以利用$.ajaxSetup()來進行默認設置
            $.ajaxSetup({
                type: "POST" //那么所有的ajax傳輸類型都改為post了
            });
})

全局事件
加到document上,參數的意義
$.ajaxStart()
$.ajaxStop()
$.ajaxSuccess()
$.ajaxError()
$.ajaxComplete()
$.ajaxSend()
屬性
Global, Context
JSONP, jsonpCallback
Cache, Timeout
processData
contentType
ajax參考資料

$.noConflict()

常用度★
防止庫之間沖突

  
$.each()

常用度★★★
遍歷

 


    
    
    
    
   


    
后退鏈式操作 end() addBack()

常用度★




    
    
    
    
   


    
div
span
JQ中的隊列 queue().dequeue()

概念與參數意義

隊列名稱

 $(function(){
            //$.queue() 三個參數:隊列添加到哪個元素身上;隊列的名字;第三個參數是一個函數
            //$.dequeue() 兩個參數:元素和隊列名字
            //JQ中的隊列,存儲的都是函數
            //JQ的隊列,當進行出隊的操作的時候,會自動執行相應的函數
            function a(){
                alert(1);
            }
            function b(){
                alert(2);
            }
            function c(){
                alert(3);
            }
            $.queue(document, "myeve", a);
            $.queue(document, "myeve", b);
            $.queue(document, "myeve", c);
            $.dequeue(document, "myeve"); //彈1
            $.dequeue(document, "myeve"); //彈2
            $.dequeue(document, "myeve"); //彈3
        })

queue() dequeue()

源碼分析運動隊列

默認隊列名fx

隊列的具體應用基本使用

基本使用




    
    
    
    
   


    
div



    
    
    
    
   


    
div
JQ中的回調對象 $.Callbacks()

基本概念與用法

add

remove

fire

應用場景

四大參數

once

memory

unique

stopOnFalse

$(function(){
            function a(){
                alert(1);
            }
            function b(){
                alert(2);
            }
            function c(){
                alert(3);
            }
            var cb = $.Callbacks(); //回調對象
            cb.add(a); //a添加到回調對象的集合里面
            cb.fire(); //fire就是觸發 彈出1
            cb.add(b); 
            cb.fire(); //彈出1和2
            cb.add(c);
            cb.remove(b);
            cb.fire(); //彈出1和3
 })   

用回調對象來解決作用域的問題

$(function(){
            var cb = $.Callbacks();
            function a(){
                alert(1);
            }
            (function(){
                function b(){
                    alert(2);
                }
                cb.add(a);
                cb.add(b);
            })();
           // a(); //彈1
            //b(); //b這個函數是找不到的,因為作用域里面沒它
            cb.fire(); //彈1、2
 }) 
once
   $(function(){
            function a(){
                alert(1);
            }
            function b(){
                alert(2);
            }
            function c(){
                alert(3);
            }
            //參數 once:只能觸發一次
            var cb = $.Callbacks("once");
            cb.add(a);
            cb.add(b);
            cb.fire(); //彈1、2
            cb.fire(); //因為添加了參數once,所以前面觸發過一次之后,這里不再觸發
        }) 
 
memory
    $(function(){
            function a(){
                alert(1);
            }
            function b(){
                alert(2);
            }
            function c(){
                alert(3);
            }
            //參數 memory:不管前后添加的都一起觸發
            var cb = $.Callbacks("memory");
            cb.add(a);
            cb.add(b);
            cb.fire(); //彈1、2、3,因為參數memory,讓觸發時不管前面后面add的都觸發
            cb.add(c); 
 })  
unique
  $(function(){
            function a(){
                alert(1);
            }
            function b(){
                alert(2);
            }
            function c(){
                alert(3);
            }
            //參數 unique:去重功能
            var cb = $.Callbacks("unique");
            cb.add(a);
            cb.add(a);
            cb.add(a);
            cb.add(b);
            cb.fire(); //彈1、2,而不是彈1,1,1,2
        })  
stopOnFalse
  $(function(){
            function a(){
                alert(1);
            }
            function b(){
                alert(2);
                return false;
            }
            function c(){
                alert(3);
            }
            //參數 unique:去重功能
            var cb = $.Callbacks("stopOnFalse");
            cb.add(a);
            cb.add(a);
            cb.add(b);
            cb.add(c);
            cb.fire(); //彈1,1,2 不談3,因為在b里面碰到了false就不繼續執行后面的函數c了
        })  
參數的組合使用
  $(function(){
            function a(){
                alert(1);
            }
            function b(){
                alert(2);
                return false;
            }
            function c(){
                alert(3);
            }
            //回調對象的參數可以組合使用
            var cb = $.Callbacks("once memory");
            cb.add(a);
            cb.add(a);
            cb.add(b);
            cb.fire(); //彈1,1,2,3   
            cb.add(c);
            cb.fire(); //什么也不彈
        })  
JQ中的延遲對象

常用度★★★

$.Deferred()

基本概念與用法

與Callbacks()對比學習

應用場景

狀態的定義

狀態的映射 resolve, done reject, fail

ajax中的應用 $.when()

利用狀態的應用

JQ插件編寫 ★★★

$.fn.extend() this指向
$.extend()

編寫插件基本格式

分析jQuery.e-calendar

配置參數

方法

自定義事件

實例:編寫選項卡插件

$.extend()與$.fn.extend()
擴展工具方法
 $(function(){
            //$.trim是去掉左右空格,現在擴展一個只去左邊空格的方法
            $.extend({
                leftTrim: function(str){
                    //this : 工具方法中 this與$等價
                    return str.replace(/^s+/g,"");
                }
            });
            var str = "   hello  ";
            alert("(" + $.leftTrim(str) + ")");
        })
擴展實例方法



    
    
    
    
    


    
div1
div2
div3
選項卡插件



    
        編寫選項卡的插件
    
    
 


    
Sizzle選擇器 ★★★

介紹與實現接口

$() -> find()

通用選擇 *

層級選擇 > + ~

基本篩選 :

animated

:eq()

:even

:odd

:first

:last

:gt()

:lt()

內容篩選

:contains()

:empty

:parent

可見性篩選

:hidden

:visible

子元素篩選

:first-child

:last-child

:first-of-type

:last-of-type

:nth-child()

:nth-of-type()

:only-child

:only-of-type

表單篩選

:button

:checkbox

:radio

:checked

:disabled

:enabled

:selected

篩選方法 ★

filter()
not()
has()

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79373.html

相關文章

  • 【一年總結】記我的大二生活

    摘要:而過去發生的一切,恍若昨天我一直都有個計劃每隔半年寫一篇總結以記錄我的大學生活,回看過去,總結不足,這便是我當初寫這個專題的目的。在大一結束的時候,我也寫過一篇一年總結記我的大一生活。 ...

    shiina 評論0 收藏0
  • 阿里云故障「驚魂」1小時:難道我們是那0.1%?

    摘要:一場因阿里云故障引發的突發事件,導致他所在的互聯網金融公司幾近癱瘓。此次事故從點分至點分,時長約一小時。對此,阿里云方面不予置評。但阿里云相關負責人向新浪科技表示,賠償問題將按照相關服務保障條款進行處理。 6月27日晚,北京國貿寫字樓2座燈火通明。林曉宇疾步往返于運維部與研發部的走廊上,表情有些凝重。  一場因阿里云故障引發的突發事件,導致他所在的互聯網金融公司幾近癱瘓。在運維部工作近一年,...

    darkerXi 評論0 收藏0
  • 6月榜單出爐:Python接連拔得頭籌!

    摘要:曾經霸主的下降最為嚴重,直接慘跌,跌落第,也持續跌落,前大語言中只有是保持正增勢的勢頭。時代的語言作為人工智能和大數據的支持語言,已經成為頭牌語言。根據調查顯示,的企業在面臨擬定策略時,常常無法獲得實時且有根據的決策信息。 妥妥的,作為編程界的老大,Python又一次霸榜了!!! 今年6月份,PYPL最新報告已經出爐了,Python持續稱王的腳步已經無人能阻止了!話不多說,我們來看報告...

    rubyshen 評論0 收藏0
  • 6月榜單出爐:Python接連拔得頭籌!

    摘要:曾經霸主的下降最為嚴重,直接慘跌,跌落第,也持續跌落,前大語言中只有是保持正增勢的勢頭。時代的語言作為人工智能和大數據的支持語言,已經成為頭牌語言。根據調查顯示,的企業在面臨擬定策略時,常常無法獲得實時且有根據的決策信息。 妥妥的,作為編程界的老大,Python又一次霸榜了!!! 今年6月份,PYPL最新報告已經出爐了,Python持續稱王的腳步已經無人能阻止了!話不多說,我們來看報告...

    pingink 評論0 收藏0
  • 華為全年收或將突破千億美元大關,消費者及公有云業務表現強勁

    摘要:華為輪值董事長徐直軍對外宣稱,華為今年的收入將首次突破億美元大關,好于預期。而今年下半年華為動作頻繁,在接下來的一個月想要全年總營收破千億美元大關并不是難事。從華為目前的幾大業務線看,推動其營收增長最大功臣莫過于消費者業務了。華為輪值董事長徐直軍對外宣稱,華為今年的收入將首次突破1000億美元大關,好于預期。但具體業務增長情況,徐直軍并未做過多透露。相關數據統計顯示,去年全年,華為總營收為9...

    sunsmell 評論0 收藏0

發表評論

0條評論

guqiu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<