2012-05-24 45 views
0

這裏基本上是我想要做的:.load()動畫與外部網頁?

我想slideUp()一個div與我的內容。我想.load()一個外部網頁(在同一臺服務器上)在該div和.slideDown()該div。

現在這裏是我有:

$(document).ready(function() { 
    $('a').click(function(){ 
    $('.content').slideUp('1000'); 
    $('.content').hide().load('about.html'); 
    $(".content").slideDown('1000'); 
    }); 
}); 

基本上這裏就是我得到:股利.content隱藏自身,加載about.html頁面,並出現。但沒有slideUps或slideDowns。

任何人有想法?

對不起,如果這是一個noob問題,這是我第一次實時js/jquery。

在此先感謝。

回答

1

這是因爲這些是異步操作。你必須繼續在回調中執行:

$('a').click(function(){ 
    $('.content').slideUp('1000', function() { 
    this.hide().load('about.html', function() { 
     this.slideDown('1000'); 
    }); 
    }); 
}); 
+0

就這一個,只有上滑工作,但我開始理解邏輯! –

0

嘗試:

$('a').click(function(){ 
    var el = $('.content'),      //cache content to avoid multiple calls 
     slidetime = 1000;       
    el.slideUp(slidetime,function(){    //slide up 
     el.hide().load('about.html',function(){ //afterwards, load 
      el.slideDown(slidetime);    //afterwards, slide 
     }); 
    }); 
}); 
+0

如果問題中沒有持續時間,您是否需要隱藏回叫? – Jivings

+0

它上升很好,加載頁面,但不滑落,它只是迅速出現(我試過.slideDown(「慢」)。 –

0

你逝去的字符串 '1000' 到效果基本show或了slideDown。 它應該是數字或字符串,它可以像「慢」 ......

0

嘗試這個

$(document).ready(function() { 
    $('a').click(function(){ 
    $('.content').slideUp(1000); 
    $('.content').hide().load('index2.html'); 
    $(".content").slideDown(1000); 
    }); 
}); 

乾杯:)