Мы сохранили прокрутку в теге деления. В теге деления должен появляться только один абзац. При нажатии следующей кнопки должен появиться следующий абзац.
Мы использовали свойство 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";
} }
Вот полное решение.
вам нужно найти кулак, содержащий '#'
(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";
}
}
Маленькая ошибка, опечатка, может быть...?
if (location.href="#one")
к этому:
if (location.href=="#one") {
location.href="#two";
}
else if (location.href==="#two") {
location.href="#three";
} }
Вы должны использовать условный оператор ==
не присваивание operator =
if (location.href == "#one") {
location.href = "#two";
} else if (location.href === "#two") {
location.href = "#three";
}
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"
}
}