Как сделать вкладку страницы наверх, используя JS? - PullRequest
1 голос
/ 04 февраля 2020

Я работаю над этим личным проектом для моего одностраничного профиля и не могу найти результат для того, что я ищу. Я ОЧЕНЬ незнаком с JavaScript для начала, и я нахожу эти коды в w3schools.

Итак, вернемся к вопросу, как заставить страницу с вкладками прокручиваться вверх, когда я посещаю другую вкладку?

Пример (см. JSFiddle ниже): я прокрутил вкладку 1 вниз, затем захожу на вкладку 2, и когда я возвращаюсь к вкладке 1, она уже прокручивается вверх.

Помощь PLZ: (

JSFiddle

function btns(evt, btnName) {
  var i, containerMain, tablinks;
  containerMain = document.getElementsByClassName("containerMain");
  for (i = 0; i < containerMain.length; i++) {
    containerMain[i].style.display = "none";
  }
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  document.getElementById(btnName).style.display = "block";
  evt.currentTarget.className += " active";
}

document.getElementById("defaultOpen").click();

Ответы [ 2 ]

3 голосов
/ 04 февраля 2020

Глядя на ваше JSFiddle, кажется, что вы имели в виду скрытые элементы div, когда вы сказали "tabs"

* scrollLeft и scrollTop контролируют положение прокрутки для HTML элементов.

Добавьте этот код в вашу функцию btns:

for (i = 0; i < containerMain.length; i++) {
       containerMain[i].scrollLeft = 0;
       containerMain[i].scrollTop = 0;
   }
1 голос
/ 04 февраля 2020

Я думаю, что вы ищете это window.scrollTo () .

Дайте ему подходящие координаты и вызывайте его при каждом переключении вкладок.

Например в верхней части процедуры, которую вы вызываете при переключении вкладок, выполните: window.scrollTo(0,0);. window - это глобальный объект в браузерах.

В качестве альтернативы вы можете использовать scrollIntoView , например, на панели вкладок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...