-
上卷下拉切換slideToggle slideDown與slideUp是一對相反的方法。需要對元素進行上下拉卷效果的切換,jQuery提供了一個便捷方法slideToggle用滑動動畫顯示或隱藏一個匹配元素 基本的操作:slideToggle(); 這是最基本的操作,獲取元素的高度,使這個元素的高度發生改變,從而讓元素里的內容往下或往上滑。 提供參數:.slideToggle( [duration ] [, complete ] ) 同樣的提供了時間、還有動畫結束的回調。在參數對應的時間內,元素會完成動畫,然后出發回調函數 同時也提供了時間的快速定義,字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時 slideToggle("fast") slideToggle("slow") 注意: display屬性值保存在jQuery的數據緩存中,所以display可以方便以后可以恢復到其初始值 當一個隱藏動畫后,高度值達到0的時候,display 樣式屬性被設置為none,以確保該元素不再影響頁面布局查看全部
-
上卷動畫slideUp 對于顯示的元素,在將其隱藏的過程中,可以對其進行一些變化的動畫效果。之前學過了hide方法,hide方法在顯示的過程中也可以有動畫,但 是.hide()方法將為匹配元素的寬度,高度,以及不透明度,同時進行動畫操作。這里將要學習一個新的顯示方法slideUp方法 最簡單的使用:不帶參數 $("elem").slideUp(); 這個使用的含義就是:找到元素的高度,然后采用一個下滑動畫讓元素一直滑到隱藏,當高度為0的時候,也就是不可見的時,修改元素display 樣式屬性被設置為none。這樣就能確保這個元素不會影響頁面布局了 帶參數: .slideUp( [duration ] [, easing ] [, complete ] ) 同樣可以提供一個時間,然后可以使用一種過渡使用哪種緩動函數,jQuery默認就2種,可以通過下載插件支持。最后一個動畫結束的回調方法。 因為動畫是異步的,所以要在動畫之后執行某些操作就必須要寫到回調函數里面,這里要特別注意查看全部
-
下拉動畫slideDown 對于隱藏的元素,在將其顯示出來的過程中,可以對其進行一些變化的動畫效果。之前學過了show方法,show方法在顯示的過程中也可以有動畫,但是.show()方法將為匹配元素的寬度,高度,以及不透明度,同時進行動畫操作。這里將要學習一個新的顯示方法slideDown方法 .slideDown():用滑動動畫顯示一個匹配元素 .slideDown()方法將給匹配元素的高度的動畫,這會導致頁面的下面部分滑下去,彌補了顯示的方式 常見的操作,提供一個動畫是時間,然后傳遞一個回調,用于知道動畫是什么時候結束 .slideDown( [duration ] [, complete ] ) 持續時間(duration)是以毫秒為單位的,數值越大,動畫越慢,不是越快。字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時。如果提供任何其他字符串,或者這個duration參數被省略,那么默認使用400 毫秒的延時。 具體使用: $("ele").slideDown(1000, function() { //等待動畫執行1秒后,執行別的動作.... }); 注意事項: 下拉動畫是從無到有,所以一開始元素是需要先隱藏起來的,可以設置display:none 如 果提供回調函數參數,callback會在動畫完成的時候調用。將不同的動畫串聯在一起按順序排列執行是非常有用的。這個回調函數不設置任何參數,但是 this會設成將要執行動畫的那個DOM元素,如果多個元素一起做動畫效果,那么要非常注意,回調函數會在每一個元素執行完動畫后都執行一次,而不是這組 動畫整體才執行一次查看全部
-
有個bug,如果你不停地點擊按鈕事件會累積的。 $(".left").stop().toggle(3000)就好了查看全部
-
顯示與隱藏切換toggle方法 show與hide是一對互斥的方法。需要對元素進行顯示隱藏的互斥切換,通常情況是需要先判斷元素的display狀態,然后調用其對應的處理方法。比如顯示的元素,那么就要調用hide,反之亦然。 對于這樣的操作行為,jQuery提供了一個便捷方法toggle用于切換顯示或隱藏匹配元素 基本的操作:toggle(); 這是最基本的操作,處理元素顯示或者隱藏,因為不帶參數,所以沒有動畫。通過改變CSS的display屬性,匹配的元素將被立即顯示或隱藏,沒有動畫。 如果元素是最初顯示,它會被隱藏 如果隱藏的,它會顯示出來 display屬性將被儲存并且需要的時候可以恢復。如果一個元素的display值為inline,然后是隱藏和顯示,這個元素將再次顯示inline 提供參數:.toggle( [duration ] [, complete ] ) 同樣的提供了時間、還有動畫結束的回調。在參數對應的時間內,元素會發生顯示/隱藏的改變,在改變的過程中會把元素的高、寬、不透明度進行一系列動畫。這個元素其實就是show與hide的方法 直接定位:.toggle(display) 直接提供一個參數,指定要改變的元素的最終效果 其實就是確定是使用show還是hide方法 if ( display === true ) { $( "elem" ).show(); } else if ( display === false ) { $( "elem" ).hide(); } toggle方法就是show與hide的相互切換的一個快捷方法,具體使用可以參考右邊的案例:查看全部
-
顯示元素的show方法 css中有display:none屬性,同時也有display:block,所以jQuery同樣提供了與hide相反的show方法 方法的使用幾乎與hide是一致的,hide是讓元素顯示到隱藏,show則是相反,讓元素從隱藏到顯示 看一段代碼:使用上一致,結果相反 $('elem').hide(3000).show(3000) 讓元素執行3秒的隱藏動畫,然后執行3秒的顯示動畫。 show與hide方法是非常常用的,但是一般很少會基于這2個屬性執行動畫,大多情況下還是直接操作元素的顯示與隱藏為主 注意事項: show與hide方法是修改的display屬性,通過是visibility屬性布局需要通過css方法單獨設置 如果使用!important在你的樣式中,比如display: none !important,如果你希望.show()方法才能正常工作,必須使用.css('display', 'block !important')重寫樣式 如果讓show與hide成為一個動畫,那么默認執行動畫會改變元素的高度,高度,透明度查看全部
-
$("button:last").click(function() { $("#a2").hide({ duration: 3000, complete: function() { alert('執行3000ms動畫完畢') } }) });查看全部
-
$('elem').hide(3000).show(3000) 讓元素執行3秒的隱藏動畫,然后執行3秒的顯示動畫。 如果使用!important在你的樣式中,比如display: none !important,如果你希望.show()方法才能正常工作,必須使用.css('display', 'block !important')重寫樣式 如果讓show與hide成為一個動畫,那么默認執行動畫會改變元素的高度,高度,透明度 怎么讓hide().show()動畫無限循環? 可以考慮在外面加一個while(true){}的循環 或者 setInterval(function(){ $("button").click(function() { $("#a1").hide(3000).show(3000) });},6000);查看全部
-
hide(2000,function(){'執行動畫之后的函數'}) hide(速度,回調函數) .hide(fast/slow) fast和slow分別代表200和600毫秒的延時,就是元素會執行200、600毫秒的動畫后再隱藏。這個快捷參數fast/slow要加引號。 例子寫法一: $("#a2").hide(2000); 如果要設置動畫的多個參數: $("#a2").hide({ duration:2000, complete:function(){ alert("執行2000毫秒動畫完畢") } }) duration意思是持續時間,設置為3000,即該動畫效果用時3秒完成 complete意思是完成,即動畫效果結束后,調用complete冒號所指的函數function(){alert('執行3000ms動畫完畢')} 寫法二: $("#a1").hide(2000,function () { alert("執行2000毫秒動畫完畢"); }); 如果想隱藏之后顯示: $('button:last').click(function(){ $('#a2').hide({ duration:3000, complete:function(){ alert('隱藏完畢之后顯示') $(this).show(4000); } }) })查看全部
-
//slideUp是上部固定,從下到上逐漸收回 //slideDown是上部固定,從上到下逐漸展現 //.slideUp( [duration ] [, easing ] [, complete ] ) //元素初始默認狀態是display:none //因為動畫是異步的,所以要在動畫之后執行某些操作就必須要寫到回調 函數里面,這里要特別注意查看全部
-
fadeout查看全部
-
回調函數中傳入的兩個參數,如果遍歷的是數組,第一個參數是索引值,第二個參數是數組的值;如果遍歷是對象,第一個參數是屬性,第二個參數是屬性值。查看全部
-
val()方法,當沒設置value屬性時,獲取的是<option>中的文本,如“ <option>慕課網</option>”獲取到的是“慕課網”; 設置了value屬性的話,獲取到就是value的值,如“<option value=‘imooc’>慕課網</option>”獲取到的是“imooc”而不是“慕課網”了。查看全部
-
.index()方法,從匹配的元素中搜索給定元素的索引值,從0開始計數。 如果不傳遞任何參數給 .index() 方法,則返回值就是jQuery對象中第一個元素相對于它同輩元素的位置 如果在一組元素上調用 .index() ,并且參數是一個DOM元素或jQuery對象, .index() 返回值就是傳入的元素相對于原先集合的位置 如果參數是一個選擇器, .index() 返回值就是原先元素相對于選擇器匹配元素的位置。如果找不到匹配的元素,則 .index() 返回 -1查看全部
-
如果你想改成eq()是可以的。但是你只把get()改成eq()是不行的。因為對$()用get(),那個$()所取到的元素就變成了dom,也就是變成了js。那么js取得的元素后面就必須跟js的方法或者屬性,既$().get().style()。而不是$().get().css()。因為style是js獨有的方法,而css()是jq獨有的方法,get()方法后取得的js元素,它只能識別style(),而不能識別css()。查看全部
舉報
0/150
提交
取消