2014-07-08 117 views
0

我試圖得到這個過渡效果與AJAX工作,但效果不起作用。我基本上在每個html頁面都有一個包裝類和一個innerwrap類。當您單擊navbar項目之一,在當前頁面的innerwrap淡出,並在點擊鏈接navbar在衰innerwrap這裏是我的腳本:AJAX過渡效果

$(document).ready(function() { 
    $('#navbar a').click(function() { 
     var url = $(this).attr('href'); 
     $('.wrapper').fadeOut('.innewrap').load.fadeIn(url + ' .innerwrap'); 
     return false; 
    }); 
}); 

我看到它的方式是,當前innerwrap淡出,點擊的網址的innerwrap淡入。我一直在努力通過不同的問題在這裏找到解決方案,但我似乎無法找到與我提供代碼的方式類似的解決方案。如果你無法幫助,但可以引導我面對一個代碼類似於真棒的問題。謝謝!

+1

首先檢查您的瀏覽器控制檯是否有錯誤。對於錯誤地使用'load'會非常明顯。然後當你看到這些,你可以去看看如何使用它 – charlietfl

+0

它看起來像你濫用(或不使用)回調你的優勢。請查看[documentation](http://api.jquery.com)瞭解回撥函數的位置和方式。 – Jason

回答

0

也許我錯了,但你在你的代碼做的是在像http://example.com/ .innerwrap褪色,那是因爲你正在使用url變量你來自哪裏,a元素把href屬性的值。

嘗試使用.load(url, function(){})來實現你想要的。 HERE你可以在jQuery中找到更多關於load()的內容;)你的fadeIn()和​​語法看起來有點奇怪。

我覺得這是更你想要什麼:

$(document).ready(function() { 
    $('#navbar a').click(function() { 
     var aObj = $(this); 
     var url = $(this).attr('href'); 
     $('.wrapper').load(url, function(){ 
      $(this).find('.innerwrap').fadeOut(); 
      $(a).find('.innerwrap').fadeIn(); 
     }); 
     return false; 
    }); 
}); 

我還沒有測試此代碼。