-
1、jQuery中有個很重要的核心方法each,大部分jQuery方法在內部都會調用each,其主要的原因的就是jQuery的實例是一個元素合集 (1)如下:找到所有的div,并且都設置樣式 ①css只是一個方法,所以內部會調用each處理這個div的合集,給每個div都設置style屬性 $('div').css(...) ②jQuery的大部分方法都是針元素合集的操作,所以jQuery會提供 $(selector).each()來遍歷jQuery對象 2、.each只是處理jQuery對象的方法,jQuery還提供了一個通用的jQuery.each方法,用來處理對象和數組的遍歷 (1)語法 ①jQuery.each(array, callback ) ②jQuery.each( object, callback ) 第一個參數傳遞的就是一個對象或者數組 第二個是回調函數 $.each(["Aaron", "慕課網"], function(index, value) { //index是索引,也就是數組的索引 //value就是數組中的值了 }); (2)each就是for循環方法的一個包裝,內部就是通過for遍歷數組與對象,通過回調函數返回內部迭代的一些參數 ①第一個參數:當前迭代成員在對象或數組中的索引值(從0開始計數) ②第二個參數:當前迭代成員(與this的引用相同) (3)jQuery.each()函數還會根據每次調用函數callback的返回值來決定后續動作。如果返回值為false,則停止循環(相當于普通循環中的break);如果返回其他任何值,均表示繼續執行下一個循環。 $.each(["Aaron", "慕課網"], function(index, value) { return false; //停止迭代 }); (4)jQuery方法可以很方便的遍歷一個數據,不需要考慮這個數據是對象還是數組查看全部
-
1、動畫在執行過程中是允許被暫停的,當一個元素調用.stop()方法,當前正在運行的動畫(如果有的話)立即停止 (1)語法: ①.stop( [clearQueue ] [, jumpToEnd ] ) ②.stop( [queue ] [, clearQueue ] [, jumpToEnd ] ) (2)stop還有幾個可選的參數,簡單來說可以這3種情況 ①.stop(); 停止當前動畫,點擊在暫停處繼續開始 ②.stop(true); 如果同一元素調用多個動畫方法,尚未被執行的動畫被放置在元素的效果隊列中。這些動畫不會開始,直到第一個完成。當調用.stop()的時候,隊列中的下一個動畫立即開始。如果clearQueue參數提供true值,那么在隊列中的動畫其余被刪除并永遠不會運行 ③.stop(true,true); 當前動畫將停止,但該元素上的 CSS 屬性會被立刻修改成動畫的目標值 (3)例如 $("#aaron").animate({ height: 300 }, 5000) $("#aaron").animate({ width: 300 }, 5000) $("#aaron").animate({ opacity: 0.6 }, 2000) ①stop():只會停止第一個動畫,第二個第三個繼續 ②stop(true):停止第一個、第二個和第三個動畫 ③stop(true ture):停止動畫,直接跳到第一個動畫的最終狀態 注意:如果動畫未完成停止了,那么動畫完成時執行的回調函數是不會被調用的查看全部
-
1、animate在執行動畫中,如果需要觀察動畫的一些執行情況,或者在動畫進行中的某一時刻進行一些其他處理,我們可以通過animate的提供第二種設置語法,傳遞一個對象參數,可以拿到動畫執行狀態一些通知 .animate( properties, options ) (1)options參數 ①duration:設置動畫執行的時間 ②easing:規定要使用的 easing 函數,過渡使用哪種緩動函數 ③step:規定每個動畫的每一步完成之后要執行的函數 ④progress:每一次動畫調用的時候會執行這個回調,就是一個進度的概念 ⑤complete:動畫完成回調 注意:如果多個元素執行動畫,回調將在每個匹配的元素上執行一次,不是作為整個動畫執行一次 (2)列出常用的方式: $('#elem').animate({ width: 'toggle', height: 'toggle' }, { duration: 5000, specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });查看全部
-
2、參數分解: (1)properties:一個或多個css屬性的鍵值對所構成的Object對象。 ①所有用于動畫的屬性必須是數字的,除非另有說明;這些屬性如果不是數字的將不能使用基本的jQuery功能。比如常見的,border、margin、padding、width、height、font、left、top、right、bottom、wordSpacing等等這些都是能產生動畫效果的。background-color很明顯不可以,因為參數是red或者GBG這樣的值,非常用插件,否則正常情況下是不能只能動畫效果的。 ②CSS樣式使用DOM名稱(比如"fontSize")來設置,而非CSS名稱(比如 "font-size")。 ③單位,屬性值的單位像素(px),除非另有說明。單位em和 % 需要指定 .animate({ left: 50, width: '50px' opacity: 'show', fontSize: "10em", }, 500); ④除了定義數值,每個屬性能使用'show','hide'和'toggle'。這些快捷方式允許定制隱藏和顯示動畫用來控制元素的顯示或隱藏 .animate({ width: "toggle" }); ⑤如果提供一個以“+=”或“-=”開始的值,那么目標值就是以這個屬性的當前值加上或者減去給定的數字來計算的 .animate({ left: '+50px' }, "slow"); (2)duration時間 動畫執行的時間,持續時間是以毫秒為單位的;值越大,動畫執行的越慢。還可以提供'fast'和'slow'字符串,分別表示持續時間為200和600毫秒。 (3)easing動畫運動的算法 jQuery庫中是默認的時調用 swing。在一個恒定的速度進行動畫,如果需要其他的動畫算法,請查找相關的插件 (4)complete回調 動畫完成時執行的函數,這個可以保證當前動畫確定完成后發會觸發查看全部
-
1、有些復雜的動畫通過之前學到的幾個動畫函數是不能夠實現,這時候就是強大的animate方法了 (1)例如:操作一個元素執行3秒的淡入動畫,對比一下2組動畫設置的區別 ①$(elem).fadeOut(3000) ②$(elem).animate({ opacity:0 },3000) 顯而易見,animate方法更加靈活了,可以精確的控制樣式屬性從而執行動畫 (2)語法: ①.animate( properties [, duration ] [, easing ] [, complete ] ) ②.animate( properties, options ) .animate()方法允許我們在任意的數值的CSS屬性上創建動畫。2種語法使用,幾乎差不多了,唯一必要的屬性就是一組CSS屬性鍵值對。這組屬性和用于設置.css()方法的屬性鍵值對類似,除了屬性范圍做了更多限制。第二個參數開始可以單獨傳遞多個實參也可以合并成一個對象傳遞了查看全部
-
淡入淡出切換fadeToggle查看全部
-
淡入動畫fadeIn查看全部
-
淡出動畫fadeOut 示例代碼要仔細看 “fast”和“linear”注意加雙引號。 fadeOut({ duration:2000, complete:function(){ alert("666") } })查看全部
-
上卷下拉切換 slideToggle() slideToggle([duration][,complete]) slideToggle("fast") 200毫秒 slideToggle("slow") 600毫秒查看全部
-
toggle與slideToggle以及fadeToggle的比較 操作元素的顯示和隱藏可以有幾種方法。 例如: 改變樣式diplay為none 位置高度為0 透明度為0 都能達到這個目的,并且針對這樣的處理jQuery都提供了各自的方法。show/hide、sildeDown/sildeUp、fadeInOut。除此之外,還引入了toggle、sildeToggle以及fadeToggle切換方法查看全部
-
DOM元素的獲取index方法 get方法是通過已知的索引在合集中找到對應的元素。如果反過來,已知元素如何在合集中找到對應的索引呢? .index()方法,從匹配的元素中搜索給定元素的索引值,從0開始計數。 語法:參數接受一個jQuery或者dom對象作為查找的條件 .index() .index( selector ) .index( element ) 如果不傳遞任何參數給 .index() 方法,則返回值就是jQuery對象中第一個元素相對于它同輩元素的位置 如果在一組元素上調用 .index() ,并且參數是一個DOM元素或jQuery對象, .index() 返回值就是傳入的元素相對于原先集合的位置 如果參數是一個選擇器, .index() 返回值就是原先元素相對于選擇器匹配元素的位置。如果找不到匹配的元素,則 .index() 返回 -1 簡單來說: <ul> <a></a> <li id="test1">1</li> <li id="test2">2</li> <li id="test3">3</li> </ul> $("li").index() 沒有傳遞參數,反正的結果是1,它的意思是返回同輩的排列循序,第一個li之前有a元素,同輩元素是a開始為0,所以li的開始索引是1 如果要快速找到第二個li在列表中的索引,可以通過如下2種方式處理 $("li").index(document.getElementById("test2")) //結果:1 $("li").index($("#test2")) //結果:1查看全部
-
DOM元素的獲取get方法 jQuery是一個合集對象,如果需要單獨操作合集中的的某一個元素,可以通過.get()方法獲取到 以下有3個a元素結構: <a>1</a> <a>2</a> <a>3</a> 通過jQuery獲取所有的a元素合集$("a"),如果想進一步在合集中找到第二2個dom元素單獨處理,可以通過get方法 語法: .get( [index ] ) 注意2點 get方法是獲取的dom對象,也就是通過document.getElementById獲取的對象 get方法是從0開始索引 所以第二個a元素的查找: $(a).get(1) 負索引值參數 get方法還可以從后往前索引,傳遞一個負索引值,注意的負值的索引起始值是-1 同樣是找到第二元素,可以傳遞 $(a).get(-2)查看全部
-
去空格神器trim方法 頁面中,通過input可以獲取用戶的輸入值,例如常見的登錄信息的提交處理。用戶的輸入不一定是標準的,輸入一段密碼:' 1123456 ",注意了: 密碼的前后會留空,這可能是用戶的無心的行為,但是密碼確實又沒錯,針對這樣的行為,開發者應該要判斷輸入值的前后是否有空白符、換行符、制表符這樣明顯的無意義的輸入值。 jQuery.trim()函數用于去除字符串兩端的空白字符 這個函數很簡單,沒有多余的參數用法 需要注意: 移除字符串開始和結尾處的所有換行符,空格(包括連續的空格)和制表符(tab) 如果這些空白字符在字符串中間時,它們將被保留,不會被移除查看全部
-
查找數組中的索引inArray 在PHP有in_array()判斷某個元素是否存在數組中,JavaScript卻沒有,但是jQuery封裝了inArray()函數判斷元素是否存在數組中。注意了:在ECMAScript5已經有數據的indexOf方法支持了,但是jQuery保持了版本向下兼容,所以封裝了一個inArray方法 jQuery.inArray()函數用于在數組中搜索指定的值,并返回其索引值。如果數組中不存在該值,則返回 -1。 語法: jQuery.inArray( value, array [, fromIndex ] ) 用法非常簡單,傳遞一個檢測的目標值,然后傳遞原始的數組,可以通過fromIndex規定查找的起始值,默認數組是0開始 例如:在數組中查找值是5的索引 $.inArray(5,[1,2,3,4,5,6,7]) //返回對應的索引:4 注意: 如果要判斷數組中是否存在指定值,你需要通過該函數的返回值不等于(或大于)-1來進行判斷查看全部
-
Query中有個很重要的核心方法each,大部分jQuery方法在內部都會調用each,其主要的原因的就是jQuery的實例是一個元素合集 如下:找到所有的div,并且都設置樣式,css只是一個方法,所以內部會調用each處理這個div的合集,給每個div都設置style屬性 $('div').css(...) jQuery的大部分方法都是針元素合集的操作,所以jQuery會提供$(selector).each()來遍歷jQuery對象 .each只是處理jQuery對象的方法,jQuery還提供了一個通用的jQuery.each方法,用來處理對象和數組的遍歷 語法 jQuery.each(array, callback ) jQuery.each( object, callback ) 第一個參數傳遞的就是一個對象或者數組,第二個是回調函數 $.each(["Aaron", "慕課網"], function(index, value) { //index是索引,也就是數組的索引 //value就是數組中的值了 }); each就是for循環方法的一個包裝,內部就是通過for遍歷數組與對象,通過回調函數返回內部迭代的一些參數,第一個參數是當前迭代成員在對象或數組中的索引值(從0開始計數),第二個參數是當前迭代成員(與this的引用相同 jQuery.each()函數還會根據每次調用函數callback的返回值來決定后續動作。如果返回值為false,則停止循環(相當于普通循環中的break);如果返回其他任何值,均表示繼續執行下一個循環。 $.each(["Aaron", "慕課網"], function(index, value) { return false; //停止迭代 }); jQuery方法可以很方便的遍歷一個數據,不需要考慮這個數據是對象還是數組查看全部
舉報
0/150
提交
取消