jQuery добавить параметр функции или переменную в селектор идентификатора - PullRequest
0 голосов
/ 27 января 2020

Скажем, у вас есть 10-15 фиксированных divs, которые вы хотите animate() с другими параметрами. Используя jQuery, как лучше всего передать разные параметры для каждого div? Мой текущий метод, ниже, пытается передать текст id в function. Это первый шаг, и в конце концов я представляю, что я бы передал animation() duration и rotation как function parameters (например, float(ID, duration, rotation) Теперь он возвращает следующее: Error: Syntax error, unrecognized expression: "#candy"

$(document).ready(function () {
    float("candy");
    float("candy2");
    //etc
});

function float(ID) {
    let id = "#" + ID;
    $('"' + id + '"').animate({
        top: 100,
      }, 5000 );
};

Ответы [ 2 ]

1 голос
/ 28 января 2020

Вам вообще не нужно объявлять переменную области видимости. Просто передайте параметры из вызова функции в метод.

$(document).ready(function () {
    float("candy", 5000);
    float("candy2", 2000);

});

function float(ID, duration) {
    $('#' + ID).animate({
    top: 100,
  }, duration );
};
#candy {
  background-color: red;
  width: 200px;
  height: 200px;
  position: relative;
  }
 #candy2 {
  background-color: yellow;
  width: 200px;
  height: 200px;
  position: relative;
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<div id="candy"></div>
<div id="candy2"></div>
</div>
0 голосов
/ 27 января 2020

Я думаю, вам нужна такая функция, как:

function float(ID) {
 let id = "#" + ID;
 $(id).animate({
    top: 100,
  }, 5000 );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...