2011-02-06 9 views
2

私はdivにMySQLデータベースからデータを取得するPHPの内容をロードするこのjavascriptを持っています。別のボタンをクリックすると、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の投稿を確認する正しい方法は、次のようにして行います:

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

私のeat.phpファイルには?

答えて

1

私はあなたが何を求めているのかよく分かりません。 あなたが追加したデータがビューにスクロールされていることを確認したい場合は、あなたがinsertAdjacentHTMLとトリックが画面にラベルを挿入し、その後にジャンプするには、ブラウザを語っている。この

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

のようなコードを使用することができますそれ。ラベルは、コードが実行されるたびに異なるjavascript変数の内容です。

部門全体をビューにスライドさせたい場合は、タイマーを使用する必要があります。オーバーフローが隠されるようにdivを設定し、位置の相対的な大きさの上または左/右の値を使用して画面外に配置します。次に、タイマーがオフになるたびにオフセットをゼロに向かって減少させます。

タイマーが50msごとにオフになり、数ピクセルしか移動しないと、20fpsが得られ、非常に滑らかに見えます。

関連する問題