0

状況は次のとおりです。テーブルを含むオーバーフロー auto を持つ div があります。この div を含むページは、メイン ページに ajax されます。私は、idを持つ特定のtrにdivをスクロールするajaxedページロードでjavascript(jqueryは問題ありません)メソッドを実行したいと考えています。これを行うための最良の方法は何ですか? 以下に小規模な例を追加しました。

試みた

scrolltoview(url#id)を含めるようにajax呼び出しを調整する[結果:404エラーオブジェクトが見つかりません]

jquery scrollTop [結果:現在テスト中。スクロールは発生しません]

AJAX ページ

<%@ Page Language="C#" Inherits="APTEIT.scrolltest" %>
<script src="Utilities/Javascript/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#divy").scrollTop($("#25").position().top);
    });
</script>

AJAX CS (テーブルを簡単に設定するためだけ)

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Web.UI.WebControls;

namespace APTEIT
{
    /*Codebehind for import.aspx*/
    public class scrolltest: Page
    {
        public scrolltest()
        {
        }

        protected void Page_Load()
        {
            Response.Write("<div style=\"overflow:auto;border-style:solid;border-width:2px;border-color:Black;height:200px;width:200px;\" id=\"divy\">");
            Response.Write("<table style=\"border-collapse:collapse\"><tr><th>Number</th><th>Thingy</th></tr>");
            for(int i = 0; i < 100; i++)
            {
                Response.Write("<tr id=\"" + i + "\"><td style=\"border-style:solid;border-width:1px;border-color:black;\">" + i + "</td><td style=\"border-style:solid;border-width:1px;border-color:black;\">thingy" + i + "</td></tr>");
            }
            Response.Write("</table></div>");
        }

    }
}

メインページ(ajaxメソッドは含まれていません。「divy2」にajaxページの非同期ロードを入力するだけです)

<%@ Page Language="C#" %>
<html>
<head>
<script src="Utilities/Javascript/Utilities.js"></script>
<script src="Utilities/Javascript/jquery-1.7.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
    $(document).ready(function () {
        ajax("scrolltest.aspx", "divy2");
    });
</script>
<div id="divy2">

</div>
</body>
</html>
4

1 に答える 1

1
于 2012-06-15T13:26:53.227 に答える