2011-02-06 53 views
2

所以我有我這個JavaScript加載到我的PHP的內容(它從MySQL數據庫中獲取數據)的div。當點擊一個不同的按鈕時,它會再次調用eat.php文件,並從MySQL中檢索新數據並再次將新數據加載到div中。如何滑動(滾動)通過jquery的.load()檢索到的整個div?

<script type="text/javascript"> 
$(function() { 
    $("a[name=eat]").click(function() { 
     $("div.nav a[name=eat]").css({"background-color":"#666966","color":"#fff"}); 
     $(".user-main").load("eat.php"); 
    }); 
    $("a[name=analyze]").click(function() { 
     $(".user-main").load("eat.php",{ name: "John", time: "2pm" }); 
    }); 
}); 
</script> 

而且沒關係,一切都是如此。我的問題是如何讓這個「幻燈片」進入新的div,就像它正在水平滾動?我對jQuery中的動畫功能沒有任何好運,並且寧願不使用任何框架。此外,是通過做檢查一個jQuery post的正確方法:

if (isset($_POST['name'])) 

在我的eat.php文件中?

回答

1

我不太清楚你在問什麼。 如果你想確保你剛纔添加滾動到視圖中的數據,那麼你可以使用這樣的代碼

if (document.all) { 
document.body.scrollIntoView(false); 
} else { 
    document.body.insertAdjacentHTML('beforeEnd','<a name="' + a + '"><\/a>'); 
window.location.hash = '#'+a; 
} 

與insertAdjacentHTML被插入標籤到屏幕,然後告訴瀏覽器跳轉到訣竅它。標籤是一個JavaScript變量的內容,每次代碼運行時它都必須有所不同。

如果您希望將整個分區滑入視圖,那麼您將不得不使用計時器。設置div使溢流隱藏,並使用相對位置和大的頂部或左/右值定位在屏幕外。然後,每次定時器關閉時,將偏移減小到零。

如果計時器每隔50ms熄滅一次,並且只移動幾個像素,則會得到20fps,並且看起來會非常平滑。