-
jQuery中動畫animate(下) animate在執行動畫中,如果需要觀察動畫的一些執行情況,或者在動畫進行中的某一時刻進行一些其他處理,我們可以通過animate提供的第二種設置語法,傳遞一個對象參數,可以拿到動畫執行狀態一些通知 options參數 其中最關鍵的一點就是: 列出常用的方式:查看全部
-
jQuery中動畫animate(上) 有些復雜的動畫通過之前學到的幾個動畫函數是不能夠實現,這時候就需要強大的animate方法了 操作一個元素執行3秒的淡入動畫,對比一下2組動畫設置的區別 顯而易見,animate方法更加靈活了,可以精確的控制樣式屬性從而執行動畫 語法: .animate()方法允許我們在任意的數值的CSS屬性上創建動畫。2種語法使用,幾乎差不多了,唯一必要的屬性就是一組CSS屬性鍵值對。這組屬性和用于設置.css()方法的屬性鍵值對類似,除了屬性范圍做了更多限制。第二個參數開始可以單獨傳遞多個實參也可以合并成一個對象傳遞了 參數分解: 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 和 %需要指定使用 除了定義數值,每個屬性能使用'show', 'hide', 和 'toggle'。這些快捷方式允許定制隱藏和顯示動畫用來控制元素的顯示或隱藏 如果提供一個以+= 或 -=開始的值,那么目標值就是以這個屬性的當前值加上或者減去給定的數字來計算的 duration時間 動畫執行的時間,持續時間是以毫秒為單位的;值越大表示動畫執行的越慢,不是越快。還可以提供'fast' 和 'slow'字符串,分別表示持續時間為200 和 600毫秒。 easing動畫運動的算法 jQuery庫中默認調用 swing。如果需要其他的動畫算法,請查找相關的插件 complete回調 動畫完成時執行的函數,這個可以保證當前動畫確定完成后發會觸發 具體可以參考右邊的代碼效果:查看全部
-
jQuery中toggle與slideToggle以及fadeToggle的比較 操作元素的顯示和隱藏可以有幾種方法。 例如: 都能達到這個目的,并且針對這樣的處理jQuery都提供了各自的方法。show/hide、sildeDown/sildeUp、fadeIn/fadeOut。除此之外,還引入了toggle、sildeToggle以及fadeToggle切換方法 當然細節上還是有更多的不同點:查看全部
-
jQuery中淡入效果fadeTo 淡入淡出fadeIn與fadeOut都是修改元素樣式的opacity屬性,但是他們都有個共同的特點,變化的區間要么是0,要么是1 如果要讓元素保持動畫效果,執行opacity = 0.5的效果時,要如何處理? 如果不考慮CSS3,我們用JS實現的話,基本就是通過定時器,在設定的時間內一點點的修改opacity的值,最終為0.5,原理雖說簡單,但是總不如一鍵設置這么舒服,jQuery提供了fadeTo方法,可以讓改變透明度一步到位 語法 必需的 duration參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。fadeTo() 方法中必需的 opacity 參數將淡入淡出效果設置為給定的不透明度(值介于 0 與 1 之間)。可選的 callback 參數是該函數完成后所執行的函數名稱。查看全部
-
jQuery中淡入淡出切換fadeToggle fadeToggle()函數用于切換所有匹配的元素,并帶有淡入/淡出的過渡動畫效果。之前也學過toggle、slideToggle 也是類似的處理方式 可選的 duration 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。 可選的 callback 參數是 fadeToggle完成后所執行的函數名稱。 fadeToggle() 方法可以在 fadeIn() 與 fadeOut() 方法之間進行切換。如果元素已淡出,則 fadeToggle() 會向元素添加淡入效果。如果元素已淡入,則 fadeToggle() 會向元素添加淡出效果。查看全部
-
jQuery中淡入動畫fadeIn fadeOut是淡出效果,相反的還有淡入效果fadeIn,方法使用上兩者都是一致的,只是結果相反 fadeIn()函數用于顯示所有匹配的元素,并帶有淡入的過渡動畫效果。 注意:查看全部
-
jQuery中淡出動畫fadeOut 讓元素在頁面不可見,常用的辦法就是通過設置樣式的display:none。除此之外還可以一些類似的辦法可以達到這個目的。這里要提一個透明度的方法,設置元素透明度為0,可以讓元素不可見,透明度的參數是0~1之間的值,通過改變這個值可以讓元素有一個透明度的效果。常見的淡入淡出動畫正是這樣的原理。 fadeOut()函數用于隱藏所有匹配的元素,并帶有淡出的過渡動畫效果 所謂"淡出"隱藏的,元素是隱藏狀態不對作任何改變,元素是可見的,則將其隱藏。 通過不透明度的變化來實現所有匹配元素的淡出效果,并在動畫完成后可選地觸發一個回調函數。這個動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。 字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時。如果提供任何其他字符串,或者這個duration參數被省略,那么默認使用400毫秒的延時查看全部
-
jQuery中顯示與隱藏切換toggle方法 show與hide是一對互斥的方法。需要對元素進行顯示隱藏的互斥切換,通常情況是需要先判斷元素的display狀態,然后調用其對應的處理方法。比如顯示的元素,那么就要調用hide,反之亦然。 對于這樣的操作行為,jQuery提供了一個便捷方法toggle用于切換顯示或隱藏匹配元素 這是最基本的操作,處理元素顯示或者隱藏,因為不帶參數,所以沒有動畫。通過改變CSS的display屬性,匹配的元素將被立即顯示或隱藏,沒有動畫。 display屬性將被儲存并且需要的時候可以恢復。如果一個元素的display值為inline,然后是隱藏和顯示,這個元素將再次顯示inline 同樣的提供了時間、還有動畫結束的回調。在參數對應的時間內,元素會發生顯示/隱藏的改變,在改變的過程中會把元素的高、寬、不透明度進行一系列動畫效果。這個元素其實就是show與hide的方法 直接提供一個參數,指定要改變的元素的最終效果 其實就是確定是使用show還是hide方法 toggle方法就是show與hide的相互切換的一個快捷方法,具體使用可以參考右邊的案例:查看全部
-
jQuery中顯示元素的show方法 css中有display:none屬性,同時也有display:block,所以jQuery同樣提供了與hide相反的show方法 方法的使用幾乎與hide是一致的,hide是讓元素顯示到隱藏,show則是相反,讓元素從隱藏到顯示 看一段代碼:使用上一致,結果相反 讓元素執行3秒的隱藏動畫,然后執行3秒的顯示動畫。 show與hide方法是非常常用的,但是一般很少會基于這2個屬性執行動畫,大多情況下還是直接操作元素的顯示與隱藏為主 注意事項:查看全部
-
語法: .get( [index ] ) 注意2點 get方法是獲取的dom對象,也就是通過document.getElementById獲取的對象 get方法是從0開始索引 所以第二個a元素的查找: $(a).get(1) 負索引值參數 get方法還可以從后往前索引,傳遞一個負索引值,注意的負值的索引起始值是-1 同樣是找到第二元素,可以傳遞 $(a).get(-2)查看全部
-
jQuery中隱藏元素的hide方法 讓頁面上的元素不可見,一般可以通過設置css的display為none屬性。但是通過css直接修改是靜態的布局,如果在代碼執行的時候,一般是通過js控制元素的style屬性,這里jQuery提供了一個快捷的方法.hide()來達到這個效果 提供參數: 當提供hide方法一個參數時,.hide()就會成為一個動畫方法。.hide()方法將會匹配元素的寬度,高度,以及不透明度,同時進行動畫操作 快捷參數: 這是一個動畫設置的快捷方式,'fast' 和 'slow' 分別代表200和600毫秒的延時,就是元素會執行200/600毫秒的動畫后再隱藏 注意: jQuery在做hide操作的時候,是會保存本身的元素的原始屬性值,再之后通過對應的方法還原的時候還是初始值。比如一個元素的display屬性值為inline,那么隱藏再顯示時,這個元素將再次顯示inline。一旦透明度 達到0,display樣式屬性將被設置為none,這個元素將不再在頁面中影響布局查看全部
-
語法: jQuery.inArray( value, array ,[ fromIndex ] ) 用法非常簡單,傳遞一個檢測的目標值,然后傳遞原始的數組,可以通過fromIndex規定查找的起始值,默認數組是0開始 例如:在數組中查找值是5的索引 $.inArray(5,[1,2,3,4,5,6,7]) //返回對應的索引:4 注意: 如果要判斷數組中是否存在指定值,你需要通過該函數的返回值不等于(或大于)-1來進行判斷查看全部
-
語法 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方法可以很方便的遍歷一個數據,不需要考慮這個數據是對象還是數組查看全部
-
.animate( properties, options ) options參數 duration - 設置動畫執行的時間 easing - 規定要使用的 easing 函數,過渡使用哪種緩動函數 step:規定每個動畫的每一步完成之后要執行的函數 progress:每一次動畫調用的時候會執行這個回調,就是一個進度的概念 complete:動畫完成回調 其中最關鍵的一點就是: 如果多個元素執行動畫,回調將在每個匹配的元素上執行一次,不是作為整個動畫執行一次 列出常用的方式: $('#elem').animate({ width: 'toggle', height: 'toggle' }, { duration: 5000, specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });查看全部
-
操作一個元素執行3秒的淡入動畫,對比一下2組動畫設置的區別 $(elem).fadeOut(3000) $(elem).animate({ opacity:0 },3000) 顯而易見,animate方法更加靈活了,可以精確的控制樣式屬性從而執行動畫 參數分解: 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");查看全部
舉報
0/150
提交
取消