2011-12-06 35 views
2

我使用jquery在兩個外部頁面中加載,一個名爲search.php,另一個名爲info.php。我將它們分別顯示在一個名爲user.php的頁面上,但只有在導航欄中單擊鏈接時纔會顯示它們。不幸的是我目前遇到的問題,當我使用腳本的這一部分:爲什麼當我使用外部頁面時我的jquery不工作

$(document).ready(function() { 
$('#content_area').load($('.menu_top:first').attr('href')); 
}); 


$('.menu_top').click(function() { 
var href = $(this).attr('href'); 
$('#content_area').hide().load(href).fadeIn('normal'); 

return false; 
}); 

我的頁面似乎閃爍,改變內容攤子前2秒鐘。我注意到但是,如果我刪除.hide和淡入淡出,它似乎工作正常。我如何仍然可以使用淡入,但消除了失速和閃爍?

回答

2

jQuery將fadeIn,.hide和其他效果添加到效果的隊列中。因此,它會立即調用.load(),然後在發送.hide到效果隊列/並且.hide未完成。

您可以在.hide方法做一個回調:

$('#content_area').hide(function(){ 
    $('#content_area').load(href).fadeIn('normal'); 
}) 

這使得隱藏先完成。

1

嘗試.stop試驗,看它是否與閃爍幫助:

$('#content_area').hide().stop(true,true).load(href).stop(true,true).fadeIn('normal'); 
0

的閃爍使用animate代替fadeInfadeOut

的淡出

$("youeSelector").animate({ opacity: 0 }, 'slow'); 

的淡入

$("youeSelector").animate({ opacity: 1 }, 'slow'); 

只要第二個問題出現,請確保您沒有包含腳本文件兩次

相關問題