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

我不明白你的代码在这里:

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

如果要前进到下一个元素并显示它,则需要先增加i。不过,也许我只是错过了一些东西。

我认为您的问题是,如果用户单击您的直接链接之一,而不是代码中的“下一个”和“上一个” i没有得到更新。因此,如果您在第 2 页并单击 4 的链接,然后单击返回,则当前是 2 而不是 4。希望对您有所帮助。如果有,请务必将其标记为答案。

于 2012-10-17T00:30:26.450 回答
0

向每个链接标签添加一个点击事件,该事件将调用单个函数,就像您在输入标签中一样。让函数输入某个数字并将该数字分配给 i。那应该这样做。抱歉,我无法显示任何源代码,JAVASCRIPT 不是我的语言。我可以阅读它,但我不敢从头开始编写代码。希望这对您有所帮助。

于 2012-10-17T01:29:13.310 回答
0

好的,我会尝试代码,但如果它关闭,请不要对其进行降级。

这是您可以放在 changeSrc 函数之前的函数:

函数更新I(){i = 值}

这是您将添加到 a 标签中的链接的一键式事件。当然,在这种情况下发送函数的 4 将更改为适合引用的任何 ListItem 的任何内容:

onClick =“更新I(4)”

这对你有帮助吗?

于 2012-10-17T22:26:51.307 回答