2016-12-20 9 views
0

Совершенно новый для jQuery. У меня есть функция, которая делает то, что я хочу ... почти. Она начинается так:функция работает на document.ready, а не когда сообщается

var myFunction = function() { 
    "use strict"; 

    jQuery(function ($) { 

    //various things 

    }); 

}; 

вещи, я хочу, чтобы назвать это когда другая функция бывает:

jQuery(function ($) { 
    "use strict"; 

    $(document).ready(function() { 
     anotherFunction; 
     myFunction; 
    });  

}); 

Вместо этого, кажется, что первая функция работает сама по себе, когда документ будет готов , и anotherFunction вызывается только во второй момент.

Это зависит от того, как начинается первая функция? Это хорошее начало? Я рассмотрел примеры и решения, но есть много разных способов запуска функции в jQuery, я не мог понять, какой из них мне нужен.

Можете ли вы помочь мне создать эти две функции, чтобы первый не работал до тех пор, пока второй не назовет его?

Я знаю, что нужен jQuery(function ($) немного иначе браузер сообщает мне $ is not a function ...

+0

На основе вашего второго бита кода вы вызываете myFunction внутри $ (document) .ready. – Ducain

+0

хорошо пункт. но я поместил много «console.log» вокруг кода, и действительно кажется, что это происходит независимо, до того, как вторая функция даже рассматривается. Сейчас я исправляю код, чтобы показать, что я имею в виду. – nico

ответ

0
function one() { 
    //Do stuff 
}; 

function two() { 
    one(); //Calls first function 

    //Do other stuff 
} 

$(document).ready(function() { 
    two(); //Executes second function on doc ready 
}); 

Это может вас туда, куда вы хотите отправиться. Тем не менее, если вы не хотите, чтобы ничего выполнить на doc ready, вы можете просто принять эту часть.

+0

Это кажется чистым и логичным ... но как мне избежать сообщения «$ is not a function»? Должен ли я помещать 'jQuery (function ($)' вещь в каждую функцию, как в моем исходном коде? Или я должен вместо этого обернуть функции в одном 'jQuery (function ($)' для всего .js-файла? »(Кроме того, но этот лишний глупый вопрос можно игнорировать, почему вокруг так много фрагментов, которые запускают функцию с 'var =' ??) – nico

+0

Оберните все свои функции в одном jQuery (функция ($)). На самом деле это тоже не обязательно если вы используете только библиотеку jquery, просто включите ее в тег скрипта в разделе , например и в другом теге скрипта вы можете напрямую использовать $. Также вы можете узнать jquery отсюда http://learn.jquery.com/about-jquery/ – Ninja

+0

спасибо, я изменил свой сценарий, как предложено здесь. хотя одна из функций вызывает экстент nal скрипт, проблема может быть там, нужно исследовать ... – nico

 Смежные вопросы

  • Нет связанных вопросов^_^