Вход

Просмотр полной версии : Загрузка контента в DIV по гиперссылке из другого DIV


madcap
18.11.2011, 06:57
Здравствуйте, гуру форума. Хотелось бы узнать, есть ли способ в двухколоночном сайте, свёрстанным с помощью DIV'ов сделать так, чтобы по ссылке из левого DIV (левая колонка) в DIV с контентом, который находится правее и занимает большую площать страницы под контент, грузилась страничка. Раньше так в фрэймах можно было делать, но с тех пор многое изменилось и пришлось по надобности снова навёрстывать. Заранее спасибо.

p.s. обязательно чтобы ссылка открывалась не через button, а картинку, т.е. как если бы это было с простым html кодом

<a href><img src></img></a>

ksa
18.11.2011, 08:50
есть ли способ
таки есть... :yes: И даже несколько. ;)

yashka525
18.11.2011, 10:24
AJAX (http://javascript.ru/ajax/intro)

madcap
18.11.2011, 10:27
это понятно, но все же хотелось бы примерчик, а то так я буду очень долго сидеть над этим делом, хотя велосипед уже наверняка изобретен )

yashka525
18.11.2011, 10:29
Примерчик. (http://musicforchrist.info/#!/Main)

yashka525
18.11.2011, 10:32
грузилась страничка.
Аа, сорри, не тот примерчик. Тута не страничка, а просто контент. Ну если все происходит на одном домейне, то копать в эту сторону - AJAX (http://javascript.ru/ajax/intro).

antibot
18.11.2011, 23:35
Вот второй способ, он немного посложнее, но и современнее.
Если используете какой нибудь php framework, то этот способ становится намного удобнее чем якорная или аналогичная навигация...

http://habrahabr.ru/blogs/javascript/123106/

madcap
19.11.2011, 12:28
http://xmlhttprequest.ru/ копаю в эту сторону

var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', 'blablabla.php', false); // открываем соединение
xmlhttp.send(null); // отправляем запрос, и висим пока не придет ответ
if(xmlhttp.status == 200) { // проверяем результат, 200 OK - все хорошо
alert(xmlhttp.responseText); // выдаем алерт с полученным контентом
}

както так, но на этом пока всё

UPD

var myDiv = document.getElementById("myDivId");
myDiv.innerHtml = xmlhttp;

поправьте, если туплю. Но я так понимаю, что таким образом в див подсовывается то, что получил xmlhttprequest и положил в переменную

yashka525
19.11.2011, 22:47
myDiv.innerHtml = xmlhttp;
myDiv.innerHTML = xmlhttp.responseText;
Это вместо alert(xmlhttp.responseText);

madcap
21.11.2011, 15:02
xmlhttp.open('GET', 'blablabla.php', false);

вот в этом месте что делает false или true ?

yashka525
21.11.2011, 21:20
Если true, то запрос будет асинхронным и не заметным для пользователя.
А иначе, если false, то запрос будет синхронным, и браузер подвиснет.
Читайте там же, на http://xmlhttprequest.ru - Использование XMLHTTPRequest (http://xmlhttprequest.ru/#use)