目の前にこのページがあります。私がやりたいのは、次のボタンを押すかプレビューして、AjaX経由でインデックスを変更することです。
画像によると、次の画像ボタンを押すと、テキストが「andreas」に変わる必要があります。次にもう一度押すと、「NEWW」、「apoel」、「Name Surname」に変わります。
ACTORS リンクを押すと、次のコードが表示されます。
/* FOR THE ACTORS TAB */
litActors.Text = "";
actorsCmd = "SELECT actor_name,a.id_actor FROM actor a JOIN project_actor pa on a.ID_ACTOR = pa.ID_ACTOR WHERE ID_PROJECT = " + Request.QueryString["id"];
SqlCommand cmdActor = new SqlCommand(actorsCmd, con);
SqlDataReader reader;
try
{
reader = cmdActor.ExecuteReader();
while (reader.Read())
{
litActors.Text += "<li><a onclick=\"javascript:getSummary(" + reader.GetInt32(1).ToString() + ",'a');document.getElementById('projectNav').style.display = 'none';document.getElementById('left_right').style.display = 'inline-block';displayActor('" + reader.GetString(0) + "') \">" + reader.GetString(0) + "</a></li>";
}
}
catch (Exception err)
{
con.Close();
return;
}
上記のコードの html 表現は次のとおりです (これらの style.display は無視してください。これらはインターフェイス用です)。
<ul class="slideShow actors">
<li><a onclick="javascript:getSummary(62,'a');document.getElementById('projectNav').style.display = 'none';document.getElementById('left_right').style.display = 'inline-block';displayActor('Name Surname') ">Name Surname</a></li>
<li><a onclick="javascript:getSummary(1,'a');document.getElementById('projectNav').style.display = 'none';document.getElementById('left_right').style.display = 'inline-block';displayActor('andreas') ">andreas</a></li>
<li><a onclick="javascript:getSummary(63,'a');document.getElementById('projectNav').style.display = 'none';document.getElementById('left_right').style.display = 'inline-block';displayActor('NEWW') ">NEWW</a></li>
<li><a onclick="javascript:getSummary(53,'a');document.getElementById('projectNav').style.display = 'none';document.getElementById('left_right').style.display = 'inline-block';displayActor('apoel') ">apoel</a></li>
</ul>
今、私のjavascript関数は次のようになっています:
function getSummary(id,type) {
if (id == "") {
document.getElementById("data").innerHTML = "";
return;
}
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("data").innerHTML = xmlhttp.responseText;
}
}
if (type == 'a') {
xmlhttp.open("GET", "desciptionActorHelper.aspx?id=" + id, true);
} else if ...
xmlhttp.send();
}
function displayActor(nameActor) {
var btnActor = document.getElementById('displayMe'); btnActor.style.display = 'inline';
btnActor.innerHTML = "<a>ACTOR:</a> " + nameActor;
}
そして私の次/前のボタン:
litDescField.Text = "<span id='left_right'>" +
"<a><img src='../images/left-arrow.png' /></a>    " +
"<a><img src='../images/right-arrow.png' /></a>" +
"</span>";
誰かがそれを行うための良い簡単な方法を考えていますか?
私の考えは非常に複雑で、うまくいくかどうかさえわかりません。
アクター ID (アクターの数とその ID の両方を取得するためにクエリを実行する必要があります) を含むテーブルを作成し、next または prev の onClick を使用して、テーブルの現在の位置を示すカーソルを変更することを考えていました。