ajaxでページをロードするのはこれが初めてです。
これはいくつかのページでは正常に機能しますが、スライドまたは別のjquery関数を含む一部のページでは、スクリプトが機能しなくなり、関数を再度呼び出す必要があることがわかりますが、コードのどこが適切な場所かわかりませんロードされたページで呼び出す必要があります。
私のJavaScriptコードがあります
$(document).ready(function(){
preload([
'/img/bg_body_topo.jpg',
'/img/img_topo.png',
'/img/logo_topo.png'
]);
$("a[rel*=outside]").attr( "target", "_blank" );
$('#scrollbar').tinyscrollbar({ sizethumb: 55 });
$('#menu-topo ul li ul').hide();
$('#menu-topo ul li').hover(function(e) {
$(this).find('ul').stop().fadeToggle("fast");
});
$("#home-slide-destaques").scrollable({ circular: true }).autoscroll({ autoplay: true }).navigator(".controles");
// DISCOGRAFIA
$("ul#int-abas-discografia").tabs("div#int-conteudo-discografia > div", { effect: 'fade' });
// INTEGRANTES
$("ul#int-abas-integrantes").tabs("div#int-conteudo-integrantes > div", { effect: 'fade' });
var content = $('#content');
//pre carregando o gif
loading = new Image(); loading.src = '/img/103.gif';
$('#menu-topo a, a#menu-ajax').live('click', function( e ){
e.preventDefault();
var tHeight = $('#wrapper').height();
var tWidth = $('#wrapper').width();
var posicao = $('#wrapper').position();
$('#carregando').remove();
$('#imgcarregando').remove();
$('#wrapper').prepend('<div id="carregando"></div> <div id="imgcarregando"> <img src="/img/103.gif" style="margin:280px 0 0 0;" alt="Carregando"/></div>');
$('#carregando').css({
'position': 'absolute',
'width': tWidth,
'height': tHeight,
'top': posicao.top,
'left': posicao.left,
'background': '#000',
'opacity': '.60',
'z-index': '9900',
'text-align': 'center'
});
$('#imgcarregando').css({
'position': 'absolute',
'width': tWidth,
'height': tHeight,
'top': posicao.top,
'left': posicao.left,
'background': '#000 url(/img/logo_topo.png) center 200px no-repeat',
'padding': '30px 0 0 0 ',
'opacity': '.88',
'z-index': '9999',
'text-align': 'center'
});
content.html( '' );
var href = $( this ).attr('href');
$.ajax({
url: href,
success: function( response ){
//forçando o parser
var data = $( '<div>'+response+'</div>' ).find('#content').html();
//apenas atrasando a troca, para mostrarmos o loading
window.setTimeout( function(){
content.fadeOut('slow', function(){
$('#carregando').fadeOut('slow');
$('#imgcarregando').fadeOut('slow');
$('#content').height('auto');
// DESTAQUES
content.html( data ).fadeIn();
});
}, 1000 );
}
});
});
});
function preload(arrayOfImages) {
$(arrayOfImages).each(function(){
$('<img/>')[0].src = this;
// Alternatively you could use:
// (new Image()).src = this;
});
}