Показать сообщение отдельно
  #1 (permalink)  
Старый 27.02.2012, 01:47
Аспирант
Отправить личное сообщение для alexandr_v-vich Посмотреть профиль Найти все сообщения от alexandr_v-vich
 
Регистрация: 30.01.2012
Сообщений: 78

Дёрганье и responseText (Проблемы с изменением контента)
Код изменения контента страницы без перезагрузки страницы. Своего ничего практически, всё по примеру - http://diveintohtml5.info/examples/history/fer.html, за исключением только что асинхронности (в примере - синхронно). С pushstate проблем никаких. А вот по поводу самого изменения контента возникли некоторые вопросы:
1. responeText - как эта штука работает? я прописываю
document.getElementById("content").innerHTML = req.responseText;

А он мне меняет всю страницу...
Правда, по-моему, когда было синхронно, он мне вообще новую страницу полносью загружал вот в этот указанный див.
А менял я
function swapPhoto(href) {
  var req = new XMLHttpRequest();
  req.open("GET",
           "http://achacha/chacha/" +
             href.split("/").pop(),
           false);
  req.send(null);
  if (req.status == 200) {
    document.getElementById("content").innerHTML = req.responseText;
    setupHistoryClicks();
    return true;
  }
  return false;
}

На вот это
function swapPhoto(href) {
  var req = new XMLHttpRequest();
  req.open("GET",
           "http://achacha/chacha/" +
             href.split("/").pop(),
           true);
  req.onreadystatechange = function() {
    if (req.readyState == 4) {
      if(req.status == 200) {
        document.getElementById("content").innerHTML = req.responseText;
        setupHistoryClicks();
        return true;
      }
    }
  };
  req.send(null);
  return false;
}


Вкратце страница такая:
<body>
  <div id="menu">
    <a href="" id="ssylka">Ssylka</a>
  </div>

  <div id="content">
    <p>Abyr-abyr</p>
  </div>
</body>

А меняет мне оба дива..


2. Как проще всего сделать так, чтобы страница не дёргалась (не прибивалась к верху), когда меняем этот контент...ну так, чтоб всё плавно было..?
Ответить с цитированием