Изменение location.href в JavaScript с помощью оператора if

0

Мы сохранили прокрутку в теге деления. В теге деления должен появляться только один абзац. При нажатии следующей кнопки должен появиться следующий абзац.

Мы использовали свойство 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";
        } }
Теги:
if-statement
scrollview

4 ответа

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";
    }
}
4

Маленькая ошибка, опечатка, может быть...?

if (location.href="#one")

к этому:

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

Вы должны использовать условный оператор == не присваивание operator =

if (location.href == "#one") {
    location.href = "#two";
} else if (location.href === "#two") {
    location.href = "#three";
}
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"
}

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню