簡體   English   中英

jQuery需要幫助的理解(i,el)

[英]JQuery-Need help understanding (i, el)

我在理解這段代碼時遇到了麻煩。

var win = $(window);
var allMods = $(".module");

// Already visible modules
allMods.each(function(i, el) {
  var el = $(el);
  if (el.visible(true)) {
    el.addClass("already-visible"); 
  } 
});

win.scroll(function(event) {

  allMods.each(function(i, el) {
    var el = $(el);
    if (el.visible(true)) {
      el.addClass("come-in"); 
    } 
  });

});

我了解到,當滾動窗口時,代碼的下半部分將運行,並且allMods.each塊都是循環,這些循環使用“模塊”類遍歷所有元素。

我不明白三件事:

  1. .each函數是否不應該將數組或對象以及回調函數作為參數? 在這里,它只是一個功能。
  2. 為什么將“ i”和“ el”作為參數傳遞給函數。 我猜“ el”是指當前元素被迭代,但是為什么他們稱其為“ el”。 您可以將所有“ el”替換為其他名稱嗎? 我不知道“ i”是什么。
  3. 上半部分的代碼何時開始運行? 它不在win.scroll事件中。

.each函數是否不應該將數組或對象以及回調函數作為參數? 在這里,它只是一個功能。

不。您將其作為jQuery對象的方法調用。 它就是那個循環的對象。 內部eachthis來確定。

為什么將“ i”和“ el”作為參數傳遞給函數。 我猜“ el”是指當前元素被迭代,但是為什么他們稱其為“ el”。 您可以將所有“ el”替換為其他名稱嗎? 我不知道“ i”是什么。

您可以為函數參數使用任何您喜歡的名稱,它對調用它時傳遞給它的值沒有影響。 確定這是調用函數的責任(即each函數的內部)。 each文檔的文檔中都描述了傳遞給它們的值。

Type: Function( Integer index, Element element )

第一個參數是jQuery對象中的索引。 第二個參數是該索引值的元素。

上半部分的代碼何時開始運行? 它不在win.scroll事件中。

同時,不在函數內的任何其他代碼也將運行。 腳本加載到文檔中時。

  1. 否。 $().each()在jQuery對象(元素集合$().each()運行,並且僅將函數作為參數。
  2. 請參閱上面鏈接的文檔。 i是索引(從0開始),而el是元素本身。 是的,您也可以自由更改名稱,只要您也更改函數內部的引用即可。
  3. 每當執行該代碼塊時,它就會在啟動時運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM