С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140

Как убрать скрол при обновлении div

10.01.2017, 02:32. Показов 816. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И так есть проблемма допустим есть у меня div в нем таблица
Предположим в ней 10 строк (Динамически меняется)
дальше идет 2 таблица в ней предположим 20строк (Динамически меняется)

с помощью js я обновляю содержимое первой таблицы, тоесть сначала удаляю полностью старое содержимое, потом вставляю новое.
Получается так что таблица пропадает буквально на 1мс ну глазом конечно не видно но все же браузер это видит)
и если я смотрел на 2 таблицу в самом низу меня просто скролит разом в начало страницы где находится первая таблица
возможно ли как то организовать чтобы такого не происходило?
очень бы хотелось услышать способы реализации и предложения.

Для особо любопытных идет запрос бд и получаю список. он меняется и мне приходится запрашивать его раз в сек допустим.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2017, 02:32
Ответы с готовыми решениями:

Div на долю секунды мигает при обновлении страницы
Привет. Не могу понять, как можно это поправить. При загрузке страницы на долю секунды всплывает всплывающее окно. Как сделать, что бы...

Убрать class при уходе курсора с DIV
Есть 2 div в разных местах разметки. Мне необходимо чтобы при наведении курсора на div.mi.submenu контейнер #subcatalog получал class...

Убрать надпись в обновлении страницы
Привет всем Есть код на java sctript. В этом коде нужно убрать надпись, которая говорит что через 300 секунд обновится страница. ...

7
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
10.01.2017, 06:51
а покажи код загрузки первой таблицы? он у тебя через ajax? если так то не совсем понятно почему скролит
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
10.01.2017, 09:26
Цитата Сообщение от Tvis Посмотреть сообщение
тоесть сначала удаляю полностью старое содержимое, потом вставляю новое.
Так а зачем вы удаляете, заменяйте сразу.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
10.01.2017, 09:37
Надо смотреть на способ реализации обновления таблицы. По идее скроллить не должно. Набросал по-быстрому демонстрацию:
http://codepen.io/anon/pen/YNyozo
HTML5
1
2
3
4
5
6
7
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<p>Таблица 1</p>
<table class="first"></table>
<p>Таблица 2</p>
<table class="second"></table>
<br>
<button onclick="refresh();">Обновить</button>
CSS
1
2
3
4
5
6
table {
  border-collapse: collapse;
}
td {
  border: 1px solid black;
}
JavaScript
1
2
3
4
5
6
for (var i = 1; i < 11; i++) $('.first').append('<tr><td>'+i+'</td></tr>');
for (var i = 1; i < 21; i++) $('.second').append('<tr><td>'+i+'</td></tr>');
function refresh() {
  $('.first').empty();
  for (var i = 10; i < 21; i++) $('.first').append('<tr><td>'+i+'</td></tr>');
}
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
10.01.2017, 13:43  [ТС]
Вот кусок кода почему меня скролит незнаю вроде все норм)

HTML5
1
2
3
4
<table id="result_list_history" class="duel-table-games center-text" style="width:100%">
               <tbody>
               </tbody>
    </table>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
function updateClosedGames() {
    $.ajax({
      url: "/refreshminihistory",
      type: "GET",
      dataType: "json",
      success: function(result) {
        if(result.success) {
          var games = result.games;
          closedGames = games;
          var table = document.getElementById("result_list_history");
          table.innerHTML = "";  
          for(var i = 0; i < closedGames.length; i++) {
            addGameTableHistory(i, closedGames[i], result.user_1);
          }
        }
      }
    });
  }
 
 function addGameTableHistory(pos, game, user_1) {
    var o1 = false;
    if (user_1 != null && (game.user_1 == user_1 || game.user_2 == steamid)) {
      var table = document.getElementById("result_list_history");
      o1 = true;
    } else var table = document.getElementById("result_list_history");
    
    var row = table.insertRow();
 
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);
    var cell4 = row.insertCell(3);
    var cell5 = row.insertCell(4);
    var cell6 = row.insertCell(5);
    var cell7 = row.insertCell(6);
 
    
 
if (game.status == 1) cell3.innerHTML = 'Контент';
    else cell3.innerHTML = 'Контент';
    if (game.stavka > 0) cell4.innerHTML = 'ПОБЕДИЛ: <i class="fa fa-hand-o-right"></i>'; else cell4.innerHTML = '';
 
//NEW   
if(game.winner == game.user_1){
cell5.innerHTML = '<span class="winusername">' + game.user_1 + '</span></div></div>';
    if(game.side_1_user == "t"){
        cell1.innerHTML = 'Контент" >';
        cell7.innerHTML = 'Контент" >';      
    }else{
        cell1.innerHTML = 'Контент';
        cell7.innerHTML = 'Контент';
    }
}
 
if(game.winner == game.user_2){
cell5.innerHTML = '<span class="winusername">' + game.user_2 + '</span></div></div>';
    if(game.side_2_user == "t"){
    cell7.innerHTML = 'Контент';
    cell1.innerHTML = 'Контент'; 
    }else{
    cell7.innerHTML = 'Контент';
    cell1.innerHTML = 'Контент';
    }
}   
//NEW END
    
    var total_bet = parseFloat(game.stavka * 2);
  
    cell6.innerHTML =  '<h4><span class="label label-primary">' + total_bet.toFixed(2) + '</span></h4>';
  }
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
10.01.2017, 15:08
Я бы вам посоветовал, как предложил j2FunOnly тоже, поменять логику работы программы и обновлять таблицу без её полного затирания. То есть работать напрямую с содержимыми ячеек. Так и проблема уйдёт, и более грамотно что-ли будет
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
10.01.2017, 16:00
Цитата Сообщение от Tvis Посмотреть сообщение
вроде все норм
Тут таблица отрисовывается по-ячеейчно (wat?), а надо бы сначала сформировать тело таблицы и только потом поменять в документе.

Добавлено через 52 секунды
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
function updateClosedGames() {
  $.ajax({
    url: "/refreshminihistory",
    type: "GET",
    dataType: "json",
    success: function(result) {
      if(result.success) {
        // var games = result.games;
        var closedGames = result.games;
        // var table = document.getElementById("result_list_history");
        // table.innerHTML = "";
        var $table = $('#result_list_history');
        var $tbody = $('<tbody>');
        for(var i = 0; i < closedGames.length; i++) {
          $tbody.append(addGameTableHistory(i, closedGames[i], result.user_1));
        }
        $table.html($tbody);
      }
    }
  });
}
 
function addGameTableHistory(pos, game, user_1) {
  // (╯°□°)╯︵ ┻━┻ 1
  var o1 = false;
  if(user_1 != null && (game.user_1 == user_1 || game.user_2 == steamid)) { // steamid - откуда?
    // var table = document.getElementById("result_list_history");
    o1 = true;
  } // else {
    // var table = document.getElementById("result_list_history");
  // }
 
  var row = $('<tr>'); // table.insertRow();
 
  // (╯°□°)╯︵ ┻━┻ 2
  var cell1 = $('<td>').appendTo(row); // row.insertCell(0);
  var cell2 = $('<td>').appendTo(row); //row.insertCell(1);
  var cell3 = $('<td>').appendTo(row); //row.insertCell(2);
  var cell4 = $('<td>').appendTo(row); //row.insertCell(3);
  var cell5 = $('<td>').appendTo(row); //row.insertCell(4);
  var cell6 = $('<td>').appendTo(row); //row.insertCell(5);
  var cell7 = $('<td>').appendTo(row); //row.insertCell(6);
 
  if(game.status == 1) {
    cell3.html('Контент');
  } else {
    cell3.html('Контент');
  }
 
  if(game.stavka > 0) {
    cell4.hmtl('ПОБЕДИЛ: <i class="fa fa-hand-o-right"></i>');
  } else {
    cell4.empty();
  }
 
// NEW (╯°□°)╯︵ ┻━┻ 3
 
  if(game.winner == game.user_1) {
    cell5.html('<span class="winusername">' + game.user_1 + '</span></div></div>');
    if(game.side_1_user == "t") {
      cell1.html('Контент" >');
      cell7.html('Контент" >');
    } else {
      cell1.html('Контент');
      cell7.html('Контент');
    }
  }
 
  if(game.winner == game.user_2) {
    cell5.html('<span class="winusername">' + game.user_2 + '</span></div></div>';
    if(game.side_2_user == "t") {
      cell7.html('Контент');
      cell1.html('Контент');
    } else {
      cell7.html('Контент');
      cell1.html('Контент');
    }
  }
 
// NEW END
 
  var total_bet = parseFloat(game.stavka * 2);
  cell6.html('<h4><span class="label label-primary">' + total_bet.toFixed(2) + '</span></h4>');
 
  return row;
}
ЗЫ сам писал или копипаста?
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
10.01.2017, 20:34  [ТС]
Цитата Сообщение от j2FunOnly Посмотреть сообщение
ЗЫ сам писал или копипаста?
копипаста но переписывать настолько в лом) проблему кстати решил) функция вызывалась не нужная мне из другого js))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.01.2017, 20:34
Помогаю со студенческими работами здесь

Как убрать последнее действие при обновлении страницы?!!
Здравствуйте уважаемые! Есть TextBox в который я ввожу текст и по нажатии на кнопку значение заносится в БД и обновляется GridView,...

Как убрать скрол
Добрый день, подскажите от куда здесь скрол, и как его убрать LightCMS.github.io/rrr/ Спасибо Добавлено через 19 минут ...

Как убрать авто "скрол" страницы при переходе по "Читать далее"
Доброго времени суток! Есть блог на движке WordPres (Версия 4.4.2–ru_RU) Есть пост типа: Новость Сегодня бла бла бла Читать далее...

Как убрать отступ при добавлении нового div
Всем привет! Поиском пользовался но мало что получается. есть сайт - http://academdacha.ru Когда в header добавляю div с формой...

Как убрать блок div при маленьком разрешении экрана
Есть сайт, выполнен в резиновом стиле, если пользователь с разрешением 1024x768 и выше, то все нормально. Но если зайти с нетбука то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru