2012-03-13 79 views
0

我是一个JavaScript的初学者。 我有一个主索引页上的下一个和上一个按钮,我希望他们每个人都按顺序转到下一个或前一个html页面。排序的html页面出现在iframe中。我试图弄清楚这样做的正确和最有效的方法。Next/Prev href按钮与JavaScript递增url

页面按顺序01.html,02.html,03.html等

这里是我的按钮命名。

<a 
    class="btn" 
    onclick="decrementPg();" 
    href="<script>prvPgURL</script>" 
    target="iframe"> 
    <i class="icon-chevron-left"></i> Back </a> 

<a 
    class="btn" 
    onclick="incrementPg();" 
    href="<script>nxtPgURL</script>" 
    target="_blank"> Next 
    <i class="icon-chevron-right"></i> </a> 

这是我的Javascript之间的头标签,我积极是完全错误的。

<script language="javascript" type="text/javascript"> 

var curPg = 0; 
var nxtPg = 1; 
var prvPg = 0; 
var nxtPgURL = "0"+nxtPg+".html"; 
var prvPgURL = "0"+curPg+".html"; 

function incrementPg() { 
    if(curPg == 0){ 
     alert('curPg: == 0'); 
    curPg = (curPg +1); 
    nxtPg = (nxtPg +1); 
    } else { 
     alert('curPg: !== 0'); 
    curPg = (curPg +1); 
    nxtPg = (nxtPg +1); 
    prvPg = (prvPg +1); 
    } 
alert('curPg: ' +curPg +', nxtPg: '+ nxtPg +', prvPg: '+ prvPg +', prvPgURL: '+ prvPgURL +', nxtPgURL: '+ nxtPgURL); 
} 

function decrementPg() { 
    if(curPg == 0){ 
     alert('curPg: == 0'); 
    curPg = (curPg +1); 
    nxtPg = (nxtPg +1); 
    } else { 
     alert('curPg: !== 0'); 
    curPg = (curPg -1); 
    nxtPg = (nxtPg -1); 
    prvPg = (prvPg -1); 
    } 
alert('curPg: ' +curPg +', nxtPg: '+ nxtPg +', prvPg'+ prvPg); 
} 
</script> 

我确定必须有一个更简单的方法来做到这一点。

+1

它不工作? – 2012-03-13 03:04:03

+0

我认为这部分是错误的:'href =“”' 如果我改变按钮上的A标签中的目标以转到空白页面,则URL如下所示:'http:// www。 server.com/player/ ' – Livi17 2012-03-13 03:08:32

回答

0

这只是模拟JavaScript中的后退和前进按钮的很多工作。代替使用历史对象会更容易。使用window.history.forward()window.history.back()Reference

除此之外,如果你坚持这样做硬盘的方式,只要你想要做的是:

var n = 0; 
function browserButton(value) { 
    window.open((n + value) + '.html', _self); 
} 

而在你的HTML只是传递一个+1或-1到browserButton。像这样

<a href="#" alt="back button" onclick="browserButton(-1)"> 

<a href="#" alt="forward button" onclick="browserButton(1)"> 

Reference

+0

历史对象不起作用,因为转发网址尚未被访问。 我尝试了你的第二个建议,但它不起作用。 '' 我的按钮看起来像: '' Next 如果我剥功能下降到只有一个警告,你可以看到该函数ISN;吨甚至被调用。 – Livi17 2012-03-13 04:19:25

+0

你不应该在你的标签中设置目标。目标属性发生在框架本身上。这就是为什么它没有被调用。 – VinceOmega 2012-03-13 20:12:06

+0

纠正你有一个标记正确的目标,但你忘了实际命名框架本身。你也可能不想在标签上添加目标,因为这会干扰window.open函数。 – VinceOmega 2012-03-13 20:22:45