-
jQuery中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查看全部
-
jQuery中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)查看全部
-
jQuery.trim()函數用于去除字符串兩端的空白字符 這個函數很簡單,沒有多余的參數用法 需要注意: 移除字符串開始和結尾處的所有換行符,空格(包括連續的空格)和制表符(tab) 如果這些空白字符在字符串中間時,它們將被保留,不會被移除查看全部
-
.each只是處理jQuery對象的方法,jQuery還提供了一個通用的jQuery.each方法,用來處理對象和數組的遍歷 語法 jQuery.each(array, callback ) jQuery.each( object, callback ) 第一個參數傳遞的就是一個對象或者數組,第二個是回調函數查看全部
-
jQuery中停止動畫stop 動畫在執行過程中是允許被暫停的,當一個元素調用.stop()方法,當前正在運行的動畫(如果有的話)立即停止 語法: .stop( [clearQueue ], [ jumpToEnd ] ) .stop( [queue ], [ clearQueue ] ,[ jumpToEnd ] ) stop還有幾個可選的參數,簡單來說可以這3種情況 .stop(); 停止當前動畫,點擊在暫停處繼續開始 .stop(true); 如果同一元素調用多個動畫方法,尚未被執行的動畫被放置在元素的效果隊列中。這些動畫不會開始,直到第一個完成。當調用.stop()的時候,隊列中的下一個動畫立即開始。如果clearQueue參數提供true值,那么在隊列中的動畫其余被刪除并永遠不會運行 .stop(true,true); 當前動畫將停止,但該元素上的 CSS 屬性會被立刻修改成動畫的目標值 簡單的說:參考下面代碼、 $("#aaron").animate({ height: 300 }, 5000) $("#aaron").animate({ width: 300 }, 5000) $("#aaron").animate({ opacity: 0.6 }, 2000) stop():只會停止第一個動畫,第二個第三個繼續 stop(true):停止第一個、第二個和第三個動畫 stop(true ture):停止動畫,直接跳到第一個動畫的最終狀態查看全部
-
操作一個元素執行3秒的淡入動畫,對比一下2組動畫設置的區別 $(elem).fadeOut(3000) $(elem).animate({ opacity:0},3000) 顯而易見,animate方法更加靈活了,可以精確的控制樣式屬性從而執行動畫 語法:animate( properties ,[ duration ], [ easing ], [ complete ] ) .animate( properties, options ) 參數分解: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"); duration時間 easing動畫運動的算法 jQuery庫中默認調用 swing。如果需要其他的動畫算法,請查找相關的插件 complete回調 動畫完成時執行的函數,這個可以保證當前動畫確定完成后發會觸發查看全部
-
jQuery中toggle與slideToggle以及fadeToggle的比較 操作元素的顯示和隱藏可以有幾種方法。 例如: 改變樣式display為none 設置位置高度為0 設置透明度為0 都能達到這個目的,并且針對這樣的處理jQuery都提供了各自的方法。show/hide、sildeDown/sildeUp、fadeIn/fadeOut。除此之外,還引入了toggle、sildeToggle以及fadeToggle切換方法 toggle、sildeToggle以及fadeToggle的區別: toggle:切換顯示與隱藏效果 sildeToggle:切換上下拉卷滾效果 fadeToggle:切換淡入淡出效果 當然細節上還是有更多的不同點: toggle與slideToggle細節區別: toggle:動態效果為從右至左。橫向動作,toggle通過display來判斷切換所有匹配元素的可見性 slideToggle:動態效果從下至上。豎向動作,slideToggle 通過高度變化來切換所有匹配元素的可見性 fadeToggle方法 fadeToggle() 方法在 fadeIn() 和 fadeOut() 方法之間切換。 元素是淡出顯示的,fadeToggle() 會使用淡入效果顯示它們。 元素是淡入顯示的,fadeToggle() 會使用淡出效果顯示它們。 注釋:隱藏的元素不會被完全顯示(不再影響頁面的布局)查看全部
-
語法 .fadeTo( duration, opacity ,callback) 必需的 duration參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。fadeTo() 方法中必需的 opacity 參數將淡入淡出效果設置為給定的不透明度(值介于 0 與 1 之間)??蛇x的 callback 參數是該函數完成后所執行的函數名稱。查看全部
-
fadeToggle切換fadeOut與fadeIn效果,所謂"切換",即如果元素當前是可見的,則將其隱藏(淡出);如果元素當前是隱藏的,則使其顯示(淡入)。查看全部
-
jQuery中淡入動畫fadeIn fadeOut是淡出效果,相反的還有淡入效果fadeIn,方法使用上兩者都是一致的,只是結果相反 .fadeIn( [duration ], [ complete ] ) duration:指定過渡動畫運行多長時間(毫秒數),默認值為400。該參數也可以為字符串"fast"(=200)或"slow"(=600)。 元素顯示完畢后需要執行的函數。函數內的this指向當前DOM元素。 fadeIn()函數用于顯示所有匹配的元素,并帶有淡入的過渡動畫效果。 注意: 淡入的動畫原理:操作元素的不透明度從0%逐漸增加到100% 如果元素本身是可見的,不對其作任何改變。如果元素是隱藏的,則使其可見查看全部
-
fadeOut()函數用于隱藏所有匹配的元素,并帶有淡出的過渡動畫效果 所謂"淡出"隱藏的,元素是隱藏狀態不對作任何改變,元素是可見的,則將其隱藏。 .val()方法,當沒設置value屬性時,獲取的是<option>中的文本,如“ <option>慕課網</option>”獲取到的是“慕課網”; 設置了value屬性的話,獲取到就是value的值,如“<option value=‘imooc’>慕課網</option>”獲取到的是“imooc”而不是“慕課網”了。 .fadeOut( [duration ], [ complete ] ) 通過不透明度的變化來實現所有匹配元素的淡出效果,并在動畫完成后可選地觸發一個回調函數。這個動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。 字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時。如果提供任何其他字符串,或者這個duration參數被省略,那么默認使用400毫秒的延時查看全部
-
最簡單的使用:不帶參數 $("elem").slideUp(); 這個使用的含義就是:找到元素的高度,然后采用一個下滑動畫讓元素一直滑到隱藏,當高度為0的時候,也就是不可見的時,修改元素display 樣式屬性被設置為none。這樣就能確保這個元素不會影響頁面布局了 帶參數: .slideUp( [duration ] [, easing ] [, complete ] ) 同樣可以提供一個時間,然后可以使用一種過渡使用哪種緩動函數,jQuery默認就2種,可以通過下載插件支持。最后一個動畫結束的回調方法。 因為動畫是異步的,所以要在動畫之后執行某些操作就必須要寫到回調函數里面,這里要特別注意查看全部
-
jQuery中下拉動畫slideDown 注意事項: 下拉動畫是從無到有,所以一開始元素是需要先隱藏起來的,可以設置display:none 如 果提供回調函數參數,callback會在動畫完成的時候調用。將不同的動畫串聯在一起按順序排列執行是非常有用的。這個回調函數不設置任何參數,但是 this會設成將要執行動畫的那個DOM元素,如果多個元素一起做動畫效果,那么要非常注意,回調函數會在每一個元素執行完動畫后都執行一次,而不是這組 動畫整體才執行一次查看全部
-
基本的操作: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(); }查看全部
-
jQuery中顯示元素的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成為一個動畫,那么默認執行動畫會改變元素的高度,高度,透明度查看全部
舉報
0/150
提交
取消