使用if语句在javascript中更改location.href

时间:2014-03-20 07:10:40

标签: javascript html if-statement scrollview

我们在分区标记内保留了滚动视图。分区标记内只应出现一个段落。按下下一个按钮时,应显示下一个段落。

我们已使用location.href属性转到下一段。单击按钮一旦进入第二段,但是当它第二次单击时,它会停留在那里并且不会转到第三段。您认为这是什么问题?

我的代码:

    <body>
     <div>
    <p id="one">HI</p>
    <p id="two">Hello</p>
    <br><br><br><br><br><br><br><br>
    <p id="three">Howdy</p>
</div>
<button type="button" onclick="next()">Next</button>
</body>



div{
        border: 1px solid black;
        height: 200px;
        width: 500px;
        overflow: auto;
    }



function next () {
        if (location.href="#one") {
            location.href="#two";
        }
         else if (location.href==="#two") {
            location.href="#three";
        } }

4 个答案:

答案 0 :(得分:4)

小错误,错字可能......?

  

if (location.href="#one")

到此:

if (location.href=="#one") {
        location.href="#two";
    }
     else if (location.href==="#two") {
        location.href="#three";
    } }

答案 1 :(得分:1)

您需要使用条件运算符==而非赋值运算符=

if (location.href == "#one") {
    location.href = "#two";
} else if (location.href === "#two") {
    location.href = "#three";
}

答案 2 :(得分:0)

这是完整的解决方案..

你需要找到包含'#'(hashtag)的拳头。

喜欢

   function next () {

var hashtag =location.href.split('#');
// check array leangth if >1
if(hashtag.length>1)
{
       var hashtagval = hashtag[1];

        if (hashtagval=="one") {
            location.href="#two";
        }
         else if (hashtagval=="two") {
            location.href="#three";
        } 


//and so on
}
    else
    {
       location.href="#one";
    }
}

答案 3 :(得分:0)

function next () {
if (location.href.indexOf('one') != -1) {
    location.href="#two";
}
else if (location.href.indexOf('two') != -1) {
    location.href="#three";
} 
else{
    location.href="#one"
}

}