2016-02-26 5 views
0

Я довольно новичок в JQuery (и не очень хорош в javascript), а иногда у меня проблемы с синтаксисом.загрузить jquery и объявить функцию в body onload

Вот фактический код у меня есть:

<script type="text/javascript" src="includes/functions/jquery.lightbox-0.5.min.js"> 
<script type="text/javascript"> 
    $(function() { 
     $('a.lightbox').lightBox(); // Select all links with lightbox class 
    }); 
</script> 
... 
<script type="text/javascript" src="includes/functions/bannerRotator.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     bannerRotator('#bannerRotator', 800, 4000); 
    }); 
</script> 

То, что я пытаюсь сделать, это загрузить 3 JavaScript файлы после загрузки тела, а затем объявить 2 функции (осветителя и bannerRotator).

Я могу заставить его работать, загрузив JQuery в начале страницы, а затем используйте $ (document) .ready для загрузки скриптов и объявления функций, то, что я не знаю, как сделать, - загрузить библиотеку jQuery после загрузки полной страницы, загрузите скрипты и объявите функции.

К сожалению, я пробовал много вещей, и никто не работал. Если я могу динамически загружать js-скрипты после загрузки тела, я не знаю, как объявить функции jQuery.

Надеюсь, кто-то может мне помочь.

Благодарим за помощь.

Кажется, моя просьба была недостаточно ясной.

Что я ищу:

<body onload="javascript:includeLibraries();"> 
</body> 
... 
function includeLibraries(){ 
    //load jquery 
    //load lightbox 
    //declare lightbox function 
    //load bannerRotator.js 
    //execute bannerRotator function 
} 

Хочет сделать это после загрузки страницы и показана посетителю сайта.

+0

первыми вы пропустили закрывающий тег для лайтбокса сценария –

+0

Сначала загрузите JQuery, то ваши библиотеки, а затем поместить все в доке готов , –

+0

@Bram, мой вопрос на самом деле, как это сделать, когда выгружаете тело. – user1851673

ответ

0
<script type="text/javascript" src="includes/functions/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="includes/functions/jquery.lightbox-0.5.min.js"></script> 
<script type="text/javascript" src="includes/functions/bannerRotator.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    $('a.lightbox').lightBox(); // Select all links with lightbox class 
    bannerRotator('#bannerRotator', 800, 4000); 
    }); 
</script> 

Попробуйте это. Обратите внимание, что вы загружаете a very out-dated version of jQuery.

+0

Привет, спасибо за ответ. Я знаю, как это сделать, но как сделать после загрузки тела? – user1851673

0

Должно быть что-то подобное.

загрузка скрипты:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script type="text/javascript" src="includes/functions/jquery.lightbox-0.5.min.js"></script> 
<script type="text/javascript" src="includes/functions/bannerRotator.js"></script> 

вызова функция JQuery:

$(document).ready(function() { 
    $('a.lightbox').lightBox(); // Select all links with lightbox class 
    bannerRotator('#bannerRotator', 800, 4000); 
}); 
+0

Привет, спасибо за ответ. Я знаю, как это сделать, но как это сделать после загрузки тела? – user1851673

+0

Документация по jQuery: Нельзя безопасно манипулировать страницей, пока документ не будет готов. jQuery определяет это состояние готовности для вас. Код, включенный внутри $ (document) .ready() будет запускаться только после того, как страница Document Object Model (DOM) готова для выполнения кода JavaScript. Код, включенный внутри $ (window) .load (function() {...}), будет запускаться после того, как будет готова вся страница (изображения или фреймы), а не только DOM. https://learn.jquery.com/using-jquery-core/document-ready/. Чтобы сделать его понятным для всех - если код внутри .ready(), то он загружается после всего остального – user2831723