Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.11.2020, 16:21
Новичок на форуме
Отправить личное сообщение для LordeckiyYaya Посмотреть профиль Найти все сообщения от LordeckiyYaya
 
Регистрация: 15.07.2020
Сообщений: 3

Как передать массив
const time = 1000;
const step = 10;

function preloader(num) {
    let out = document.querySelectorAll('h1.head-p-card');
    n = 0;
    for (let i = 0; i <= 3; i++) {
        let interval = setInterval(() => {
            n = n + step;
            if (n == num) {
                clearInterval(interval);
            }
            out[i].innerHTML = n;
        })
    }
}
preloader();


Выше код, который считает до бесконечности.
Как установить (Как я понимаю) массив из 3 чисел, которые будут конечными?

То есть, чтобы счёт был только до:
В первом столбце: 800
Во втором: 500
В третьем: 900
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2020, 17:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

LordeckiyYaya,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

</head>

<body>
<h1 class="head-p-card" data-count="800"></h1>
<h1 class="head-p-card" data-count="500"></h1>
<h1 class="head-p-card" data-count="900"></h1>
<script>
const time = 5000;

function preloader() {
    let out = document.querySelectorAll('h1.head-p-card');
    out.forEach(el => {
    let count = el.dataset.count;
    let n = 0;
    let step = count/(30 * time/1000);
    el.innerHTML = n;
    let timer = () => {
    n = Math.min(n + step, count);
    el.innerHTML = n.toFixed(0);
    n >= count || setTimeout(timer, 30);
    }
    setTimeout(timer, 30);
    })
}
preloader();

</script>


</body>
</html>

Последний раз редактировалось рони, 27.11.2020 в 17:42.
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2020, 18:38
Новичок на форуме
Отправить личное сообщение для LordeckiyYaya Посмотреть профиль Найти все сообщения от LordeckiyYaya
 
Регистрация: 15.07.2020
Сообщений: 3

Я имел в виду, чтобы через аргумент функции.
Чтобы аргумент num был как массив, а при вызове функции написать
preloader([500,500,500]);
Ответить с цитированием
  #4 (permalink)  
Старый 27.11.2020, 19:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

LordeckiyYaya,
а подумать чуть - чуть? строка 20 и 19
Ответить с цитированием
  #5 (permalink)  
Старый 27.11.2020, 19:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

LordeckiyYaya,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

</head>

<body>
<h1 class="head-p-card" ></h1>
<h1 class="head-p-card" ></h1>
<h1 class="head-p-card" ></h1>
<script>
function preloader(counts, time) {
    let out = document.querySelectorAll('h1.head-p-card');
    out.forEach((el, i) => {
    let count = counts[i] || el.dataset.count || 500;
    let n = 0;
    let step = count/(30 * time/1000);
    el.innerHTML = n;
    let timer = () => {
    n = Math.min(n + step, count);
    el.innerHTML = n.toFixed(0);
    n >= count || setTimeout(timer, 30);
    }
    setTimeout(timer, 30);
    })
}
preloader([100, 500, 300], 8000);

</script>


</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать данные из одинаковых форм php скрипту через AJAX? griga999 AJAX и COMET 28 10.10.2016 06:09
Как обработать переданные функции параметры как массив? javascript_pupil Общие вопросы Javascript 7 19.08.2016 13:59
Массив как часть параметра diprom Javascript под браузер 3 21.09.2011 00:08
Как передать массив данных на сервер DVVID Общие вопросы Javascript 7 08.04.2010 12:11
Как передать массив из PHP в js (AJAX) Александр Иванов Общие вопросы Javascript 7 10.09.2009 10:22