Подключение двух файлов Jquery, использующих функции друг друга

Есть два файла. Оба должны быть на jQuery. В обоих файлах функции из одного файла используют функции другого. По сути это разбиение огромного файла с функциями на 3-4 куска, где есть постоянное взаимное сообщение между двумя (или более) файлами.

Понятный упрощённый пример: Файл main.js имеет вид:

$(document).ready(function(){
       function hello () {
        alert ('Привет!');
    }

    the_beginning();
});

Эта функция the_beginning() описана в другом файле func.js:

function the_beginning () {
            hello ();
        }

Это основной смысл того как должна работать программа: несколько сотен функций из нескольких файлов типа func.js указывают какой контент изменить. Они обращаются к файлу main.js, который меняет контент на экране.

Помогите, пожалуйста, с решением данной задачи. Спасибо!.


Ответы (2 шт):

Автор решения: Greg--

Если напишите функцию вот так:

$(document).ready(function(){
       function hello () {
        alert ('Привет!');
    }

    the_beginning();
});

Вы её не вызовете. Сделайте две функции в разных файлах, подключите к странице и попробуйте вызвать в консоли браузера их. Потом уже можно вызывать их как захотите

$(document).ready(function(){
    hello(); // возможна ошибка см. ниже
    the_beginning();// возможна ошибка см. ниже
});

Что то на подобии вот такого:

//file1.js
function func1(){
   console.log('funct1');
}
//file2.js
function funct2(){
   console.log('funct2');
}
//main.js
$(document).ready(function(){ // DOM построили но не факт что скрипты наши загрузились лучше $(window).load()
    func1();// !!Возможна ошибка если js файлы не загрузились еще
    func2();// !!Возможна ошибка если js файлы не загрузились еще
});

В случае вызова функции в функции вам необходимо ждать загрузки всех js файлов желательно ждать выполнения $(window).load()

→ Ссылка
Автор решения: ExtraCamelot

Разобрался... Моя ошибка была в следующем: когда я подключал второй файл я также делал в нём определение области jQuery как и в основном, т.е. писал так:

$(document).ready(function(){ 
    // jQuery
});

А нужно было без обращения к документу сразу писать код на jQuery. В общем получился довольно глупый вопрос. Неопытность сделала своё дело. Спасибо за внимание тем, кто пытался помочь. Надеюсь новичкам будет полезно.

→ Ссылка