2013-10-15 31 views
0

我有幾個頁面(包括一個包含我的菜單鏈接的'include'php頁面,而且我還有一個頁腳'include'php頁面)。用JS向下動畫

基本上,我想到了這個流暢的動畫,我的「囊」就像我所說的那樣,動畫向下。它基本上是一個更寬的類型的矩形,寬度爲1000px。因此,例如,每當我點擊「服務」時,它就會向下緩慢動畫。

除了我網頁上的鏈接,我現在的順序如下:我有我的腳本外化,我的每個頁面上都有文字。例如,對於「服務」頁面,我有我的文本,然後是「郵袋」。 「囊」在我的頁腳'包括'的PHP頁面。

這是我對動畫的代碼。我有一個類似的代碼,在另一個包含更多編碼的項目上工作。但是,我認爲這裏的代碼是正確的。現在的問題是,我怎樣才能讓它在此代碼加載其他頁面的文本之前觸發:

$('#services-fr-2').click(function(){ 
    if ($('#green-pouch-fr').height() == 580) { 
     $('#green-pouch-fr').animate({ 
     'top':'800px', 
     'height':'500' 
     }) 

換句話說,即使文本是下一個頁面上,我需要袋向下動畫,然後出現文字。

回答

0

animate函數接受動畫完成後調用的函數作爲參數。

如果這個問題被問如何設定在動畫完成後,才文字,你能做到像這樣:

$('#green-pouch-fr').animate({ 
      'top':'800px', 
      'height':'500' 
      }, 
      { 
       complete: function() { 
         $(this).text(pageContent); 
       } 
      } 
); 
+0

我想如你所說。順便說一句,pageContent,這是假設與頁面內容本身引用?假設我正確地做了這件事,沒有任何反應。另外,你的代碼是否真的試圖在同一頁面上做到這一點?或在下一頁上。因爲當我點擊鏈接時,它實際上是另一個頁面。因此,它有可能從未完成該行動,因爲它落在下一頁上? –

+0

@Midevil混沌 - 我假設'pageContent'是一個變量,顯示你想要顯示的內容。其中一個「另一個頁面」問題,可能是您的點擊處理程序觸發了回傳。見http://stackoverflow.com/questions/16145989/jquery-asp-net-stopping-postback –

+0

看看我的評論下面(一個PHPglue)。我驗證了你的聯繫,並且儘可能在我有時間的情況下做到了。希望小提琴上的東西意味着我走在正確的軌道上。順便說一句,當你說變量時,你是否真的說我應該在這種情況下創建一個變量?如果是這樣,你能否在這種情況下詳細說明它的用處和實際使用情況? (沒有諷刺意味) –

0

試着這麼做:

$.ajax(/* ajax stuff here */).done(function(data){ 
    $('#green-pouch-fr').animate({ 
    top: '800px', 
    height: '500' 
    }, 500, function(){ 
     //run your text data here 
    } 
    }); 
    }); 
+0

難道只是刷新頁面來看待新數據嗎?我對ajax並不熟悉。使用它幾次,但不足以知道如何對其進行編碼。 –

+0

您還將如何從另一個頁面獲取基於操作的數據? AJAX不會刷新整個頁面,就像是部分提交。您將一個對象傳遞給'$ .ajax()'方法。您可能想要訪問http://api.jquery.com/jQuery.ajax/按Ctrl + F並插入以下內容:「將一些數據保存到服務器並在用戶完成後通知用戶。」這個例子應該有幫助。 – PHPglue

+0

我用ajax試了一些東西,這裏看起來最合乎邏輯。我知道這是錯的。但是,我沒有看到它的不合邏輯。也許你可以看看它。請注意,服務頁面是SECOND頁面(基本上,主頁面上有一個關於href的onClick,但小提琴上的內容是服務頁面,以及js文件和css文件)。 http://jsfiddle.net/qdshz/ –