Javascript.RU

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

Непоследовательное выполнение кода из getJSON
Добрый день. У меня есть такая функция, которая достаёт из JSON файла товары типо для интернет магазина.
function showProducts() {
    //выводит продукты из json на страницу
    $.getJSON("goods.json", function (data) {
        var out = "";
        for (var key in data) {
            out += `<div class="product" id="${key}">
                        <img src="${data[key]["image"]}" alt="${data[key]["name"]}">
                        <div class="content">
                            <p class="product_name">${data[key]["name"]}</p>
                            <p class="description">${data[key]["description"]}</p>
                            <div class="fast_order">
                                <div class="price">${data[key]["cost"]}р</div>
                                <div class="buy_button">В корзину</div>
                            </div>
                        </div>
                    </div>`
        }
        $(".main").append(out);
        $(".buy_button").on("click", addToCart);
    });
};

Все как бы работает, только вот если я хочу добавить после этих товаров какой нибудь другой блок, то он появляется над ними. Например, вызываю две функции:
$(document).ready(function () {
    showProducts();
    checkAddedInCart(); 
});

function checkAddedInCart() {
    var kek = "ekkekekekekekkekekekkkkkkekek";
    $(".main").append(kek);
};

В итоге надпись "ekkekekekekekkekekekkkkkkekek" появляется над моими товарами.
Заметил, что в отладчике после строки $.getJSON("goods.json", function (data) идёт прыжок к закрывающейся скобке }); и ничего не добавляется на страницу. Глубже разобраться отладчиком не смог, т.к идут вызовы в какие-то файлы js, хотя я и включил blackbox-ы.
Я совсем новичок, так что, наверняка, не знаю какой-то самой простой вещи, подскажите, почему код себя так ведёт?
Ответить с цитированием
  #2 (permalink)  
Старый 04.08.2021, 16:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Niktia,
showProducts сработает когда захочет, поэтому checkAddedInCart надо вызывать в этой функции строка 19.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непоследовательное выполнения кода. Dantered Общие вопросы Javascript 3 20.10.2014 16:06
Дождаться завершения функции и продолжить выполнение кода XRASER Events/DOM/Window 4 10.04.2014 16:39
Пошаговое выполнение кода KamalovRadik jQuery 2 28.10.2011 20:46
При выполнение строки кода вылетаю из функции. developer_ Events/DOM/Window 3 28.07.2011 00:45
Последовательное выполнение кода glutton Общие вопросы Javascript 3 09.11.2009 17:16