Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   убрать скролинг вверх (https://javascript.ru/forum/misc/76807-ubrat-skroling-vverkh.html)

porezon 15.02.2019 16:42

убрать скролинг вверх
 
Используя комментарии на сайте, в середине страницы есть кнопка комментировать, которая ведет скрол сразу в подвал к форме комментирования.

если вернусь в середину и нажимаю на кнопку спрятать комментирование, скрол уезжает в самый вверх, можно как-то оставить на том же месте его?

$(document).ready(function() {
$(".open_com").click(function() {
var div = $(this).attr("data-div");
$("#" + div).toggle();
$('html, body').animate({
scrollTop: $("#" + div).offset().top
},'slow');
});
});

Dilettante_Pro 15.02.2019 17:41

Что-то вроде при закрытии никуда вверх и не крутится...

<html>
   <head>
      <style>
          #comm { display:none; }
      </style>
      <script src='https://code.jquery.com/jquery-latest.js'></script>
      <script>
         $(document).ready(function() {
             $(".open_com").click(function() {
                 var div = $(this).attr("data-div");
                 $("#" + div).toggle();
                 $('html, body').animate({
                     scrollTop: $("#" + div).offset().top
                  },'slow');
              });
          });           
      </script>
   </head>
<body>
   <div>Top</div>
    <br><br><br><br><br><br><br><br>
    <button class="open_com" data-div="comm">Comment</button>
    <br><br><br><br><br><br><br><br>
    <div id="comm">Bottom Comment</div>
</body>
</html>

рони 15.02.2019 17:45

porezon,
$(".open_com").click(function(event) {
      event.preventDefault();

Dilettante_Pro 15.02.2019 18:30

рони,
А что-нибудь плохое без event.preventDefault(); замечаете?

В моем примере я не заметил различия в поведении что с ним, что без него:-?

рони 15.02.2019 18:43

Dilettante_Pro,
вангую ссылку, а не кнопку.

Dilettante_Pro 15.02.2019 18:55

рони,
Без макета только ванговать и остается...


Часовой пояс GMT +3, время: 13:33.