jquery的閉包(理解執行函數)
阿新 • • 發佈:2018-01-05
如果 選擇 solid read class img function 生效 dex 在前端進行元素集操作時肯定會有each操作
但是each操作的動作都會在所有所有元素遍歷完後才會進行生效,故如果需要在遍歷元素時就要使其操作生效的話,就需要在each元素時進行立即執行函數進行調用
但是each操作的動作都會在所有所有元素遍歷完後才會進行生效,故如果需要在遍歷元素時就要使其操作生效的話,就需要在each元素時進行立即執行函數進行調用
以下是jquery的demo代碼(一個html中有多個img元素,對img元素的邊框進行設置):
$(document).ready(function(){ $("img").each(function(index){ //選擇所有的img元素集合進行遍歷 //(function(){xxxxxxx})()使用此定義立即執行函數,其實就是在這裏進行了函數的直接調用 (funciton(m){ setTimeout(function(){ //這裏是為了更好的查看結果,所謂對每隔1s進行元素的改變 $("img").eq(m).css("border","solid 2px yellow"); //使用元素過濾器根據元素的index進行定位來依次設置元素的css屬性 }, 1000*(m+1)); //用於jquery中這裏的的不是間隔時間,而是經歷的總時間,所以如果是間隔1s的話,第二個元素就要等待2s,以此類推(且這裏的index是從0開始的) })(index); //此index是給立即執行函數的實參,裏面的function中的m為函數的形參(把index傳遞給裏面的function) }); });
jquery的閉包(理解執行函數)