Вы не можете просто добавить их в конец скрипта, потому что загрузка происходит асинхронно . Другими словами, к моменту возврата вашей функции click
ничего еще не было загружено; это происходит в фоновом режиме, и ваша функция обратного вызова showNewContent
вызывается после того, как это сделано.
Я предполагаю, что вы также хотите выполнить инициализацию в этой функции:
function showNewContent() {
fleXenv.initByClass("flexcroll");
initLytebox();
$('#content').fadeIn('400',hideLoader());
}
Также вместо этого:
$('#content').load(toLoad,'',showNewContent());
напишите это:
$('#content').load(toLoad,'',showNewContent);
Вместо вызова функции showNewContent
и передачи ее результата в функцию load
вы хотите передать самой функции showNewContent
в load
. Вы можете сделать это, потому что в JavaScript все является объектом.
То же самое относится и к hideLoader
.
Также, я думаю, здесь слишком много места в кавычках:
var toLoad = $(this).attr('href')+' #content';