@Locko
студент

Как реализовать отображение текущей страницы?

Всем привет, при нажатии соответствующих изображений (стрелки) необходимо сменить номер страницы. Но я не пойму почему после страницы 2 перестает работать...Консолька ругается "Cannot create property 'innerHTML' on number '1'"
HTML:
<div class="slider">
                         <img src="assets/images/toLeft.png" alt="Previous Page" class="arrow" id="toLeft">
                         <span id="currentPage">1</span><span>&#32; / &#32;</span><span id="pages">5</span>
                         <img  src="assets/images/toRight.png" alt="Next Page" class="arrow" id="toRight">
                    </div>

JS:
'use strict';

var nextPage=document.getElementById("toRight");
var currentPage=document.getElementById("currentPage");
var pages=document.getElementById("pages").innerHTML;

 do {currentPage=currentPage.innerHTML++;
} 
 while (nextPage.click);

5ba559e4b54e0727651143.png
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mayd1e
Потому что при инициализации переменной currentPage в ней лежит хтмл тэг и у него есть свойство innerhtml, а после клика в ей присваивается значение 1(цифра), и потом после 2го клика идёт обращение к currentPage в которой лежит цифра 1 у которой нет свойства innerhtml как и в принципе любых других
Ответ написан
@Locko Автор вопроса
студент
Проблема решена. Если кому-то интересно решение :
'use strict';

var nextPage=document.getElementById("toRight");
var currentPage=document.getElementById("currentPage");
var prevPage=document.getElementById("toLeft");
var pages=document.getElementById("pages").innerHTML;
var Page;

var pageUp=function(){
     Page=currentPage.innerHTML;
     if (Page<pages){
     Page++;
     currentPage.innerHTML=Page;}
     else{
         Page=pages;
     }
    };
   var pageDown=function(){
    Page=currentPage.innerHTML;
    if (Page>1){
    Page--;
    currentPage.innerHTML=Page;
    }
    else{
    Page=1;
    }
  };

nextPage.onclick=function(){pageUp();};
prevPage.onclick=function(){pageDown();};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 14:12
30000 руб./за проект
19 апр. 2024, в 14:10
500 руб./за проект