【问题标题】:Changing location.href in javascript using if statement使用 if 语句在 javascript 中更改 location.href
【发布时间】:2014-03-20 07:10:39
【问题描述】:

我们在一个部门标签中保留了一个滚动视图。只有一个段落应该出现在分割标签内。当按下下一个按钮时,应该会出现下一段。

我们已使用 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";
        } }

【问题讨论】:

    标签: javascript html if-statement scrollview


    【解决方案1】:

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

    if (location.href="#one")

    对此:

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

    【讨论】:

      【解决方案2】:

      你需要使用条件运算符==而不是赋值运算符=

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

      【讨论】:

        【解决方案3】:

        这是完整的解决方案..

        你需要找到拳头是否包含'#' (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";
            }
        }
        

        【讨论】:

          【解决方案4】:
          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"
          }
          

          }

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多