状況は次のとおりです。テーブルを含むオーバーフロー 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>