2

このトピックには多くのコードが含まれている可能性がありますが、歴史に基づいていないバリエーションを探しているようです.

だから私はこのコードを持っています...

<script type="text/javascript">
var pages=new Array();

pages[0]="listItem1.html";
pages[1]="listItem2.html";
pages[2]="listItem3.html";
pages[3]="listItem4.html";
pages[4]="listItem5.html";

var i=0;
var end=pages.length;
end--;
function changeSrc(operation) {
if (operation=="next") {
if (i==end) {
  document.getElementById('the_iframe').src=pages[end];
  i=0;}
else {
  document.getElementById('the_iframe').src=pages[i];
  i++;}}
if (operation=="back") {
if (i==0) {
  document.getElementById('the_iframe').src=pages[0];
  i=end;}
else {
  document.getElementById('the_iframe').src=pages[i];
  i--;}}}
</script>
</head>

<body>

<ul id="menu" role="group">

<li><a href="listItem1.html" target="ifrm" role="treeitem">Welcome</a>
  <ul>
    <li><a href="listItem2.html" target="ifrm" role="treeitem">Ease of Access Center</a></li>
  </ul>
</li>    

<li><a href="listItem3.html" target="ifrm">Getting Started</a>
  <ul>      
    <li><a href="listItem4.html" target="ifrm">Considerations</a></li>
    <li><a href="listItem5.html" target="ifrm">Changing Perspective</a></li>
  </ul>
</li>
</ul>


<iframe id="the_iframe" scrolling="no" src="listItem1.htm" name="ifrm" style="width:540px;></iframe>


<input type="button" onClick="changeSrc('back');" value="Back" />
<input type="button" onClick="changeSrc('next');" value="Next" />

次または前のボタンをクリックすると、どこかに移動します...

私のiframeがlistItem2を表示しているとしましょう。次に、メニューのlistItem4をクリックします(ツリーメニューが含まれています)。次に、listItem3に移動したいので、戻るボタンを押します... listItem3に移動する代わりに、 listItem2 (または 4 から 3 ページに戻っていない場所)。

ボタンは履歴に基づいて移動しているように見えますか?...しかし、私は単純に前後に移動したいだけです...ボタンにこのブラウザタイプの機能を持たせたくありません...listItem4の場合次のボタンを押すと、listItem5 に移動します。

助けてくれてありがとう!

4

3 に答える 3

0

さて、私はコードを試してみますが、オフの場合はダウンレートしないでください。

これは、changeSrc関数の前に置くことができる関数です。

関数UpdateI(){i=値}

これは、タグ内のリンクに追加するワンクリックイベントです。もちろん、この場合に関数に送信される4は、参照されているListItemに適したものに変更されます。

onClick = "UpdateI(4)"

これはあなたを助けますか?

于 2012-10-17T22:26:51.307 に答える
0

私はあなたのコードを理解していません:

document.getElementById('the_iframe').src=pages[i]; i++;

それが次の要素に進み、それを表示する場合は、最初にiを増やす必要があります。しかし、おそらく私は何かを見逃しているだけです。

あなたの問題は、ユーザーが「次」と「前」ではなく直接リンクのいずれかをクリックすると、コード内のiが更新されないことだと思います。したがって、2 ページ目で 4 のリンクをクリックしてから戻る場合、は現在 2 で 4 ではありません。お役に立てば幸いです。その場合は、必ず回答としてマークしてください。

于 2012-10-17T00:30:26.450 に答える
0

入力タグと同じように、単一の関数を呼び出す各リンク タグにクリック イベントを追加します。関数に何らかの数値を入力させ、その数値を i に割り当てます。それはそれを行う必要があります。申し訳ありませんが、ソース コードを表示できません。JAVASCRIPT は私の言語ではありません。私はそれを読むことはできますが、あえてゼロからコードを書くつもりはありません。これがお役に立てば幸いです。

于 2012-10-17T01:29:13.310 に答える