2013-07-14 81 views
1

我看到很多關於此的帖子,但我所看到的是更具體的東西。隱藏相同的div並在加載時顯示

當我應用此代碼@ localhost工作100%,但是當我從主機測試它時,它以相同的速度閃爍,但不斷顯示以前的div內容,同時需要1秒來更改其內容。

這是我講的這個問題:

編輯:對不起,鏈接不可用

這是我使用的代碼:您要添加類,然後才能完成加載

$(document).ready(function(){ 
$('#inicio').children().addClass('selected'); 

$('#inicio').on('click', function(){ 
    $('nav ul a').find('.selected').each(function(){ 
     $(this).removeClass('selected'); 
    }); 
    $('article').load('inicio.html').hide().fadeIn(); 
    $(this).children().addClass('selected'); 
}); 

$('#consultar_pedido').on('click', function(){ 
    $('nav ul a').find('.selected').each(function(){ 
     $(this).removeClass('selected'); 
    }); 
    $('article').load('consultapedidos.php').hide().fadeIn(); 
    $(this).children().addClass('selected'); 
}); 
$('#acerca_de').on('click', function(){ 
    $('nav ul a').find('.selected').each(function(){ 
     $(this).removeClass('selected'); 
    }); 
    $('article').load('acerca.html').hide().fadeIn(); 
    $(this).children().addClass('selected'); 
}); 
$('#contactarse').on('click', function(){ 
    $('nav ul a').find('.selected').each(function(){ 
     $(this).removeClass('selected'); 
    }); 
$('article').load('contacto.html').hide().fadeIn(); 
    $(this).children().addClass('selected'); 
}); 
}); 
+0

這是最有可能在異步的問題,你在可以完成加載之前添加類。也許你可以使用負載的回調? – Rainulf

+0

With'$(document).ready(function(){'它應該在文檔準備就緒時工作。謝謝! –

+0

我上傳了代碼,它的作用就像一個魅力! –

回答

3

。嘗試使用load()的回調函數,看看它是否解決了這個問題。事情是這樣的:

$('#acerca_de').on('click', function(){ 
    var that = this; 
    $('article').hide(); 
    $('nav ul a').find('.selected').each(function(){ 
     $(this).removeClass('selected'); 
    }); 
    $('article').load('acerca.html', function(){ 
     $(that).children().addClass('selected'); 
     $(this).fadeIn(); 
    }); 
}); 
+1

您可能希望在('article')。hide()。load('acerca.html',function(){$(that).children()。addClass(' '); $(this).fadeIn(); });'但是啊,+1 –

+0

對,是的,修正了這個,謝謝:) – Rainulf

+0

當我讀'var that = this;'...哇從來沒有這樣想過! –

0

第一,每#點擊你要隱藏的股利作爲第一項聲明,然後清除Class風格

$('#contactarse').on('click', function() 
{ 
    $('article').hide(); // Hide it First.... 
    $('nav ul a').find('.selected').each(function() 
    { 
     $(this).removeClass('selected'); 
    }); 
    $(this).children().addClass('selected'); 
    $('article').load('contacto.html', function() 
    { 
     $(this).fadeIn(); 
    } 
});