вызов DIV с содержимом по ссылке
Здравствуйте! Помогите с проблемой.
Допустим есть две ссылки:
<div class="link" style="text-align: center">
<a href="index.html" id="game"></a>
<a href="index.html" id="game2"></a>
</div>
И есть DIV с с содержимым
<div class='content'>
<div id="firstcont"></div>
</div>
Как мне при переходе на другую ссылку, в данном случае <a href="index.html" id="game2"></a> Менять содержимое DIV? Я так понял нужно создавать отдельный div и вызывать его при переходе по ссылке, при этом, применяя на предыдущий div параметр: display: none Вообщем, как-то скрывать его. Вот как реализовать данный вызов? |
т.е. вы хотите без перезагрузки страницы менять содержимое дива? опишите чуть подробней
|
Да, изначально хотел без перезагрузки. Но нужно использовать AJAX для этого, а я в этом не разбираюсь. Если это не так сложно реализуется, то прошу мне помочь пожалуйста.
|
накидал.
пс: на работе завал. буду отвечать по возможности
<html>
<head>
<title>Тестирование</title>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script>
function loadpage (ths) {
var url = ths.getAttribute('href');
$.post("test.php", { name: "John", time: "2pm" },
function(data){
console.log("Data Loaded: " + data);
$('div').html(data);
});
}
</script>
</head>
<body>
<a href="http://javascript.ru" onclick="loadpage(this); return false;">link 1</a>
<a href="http://javascript.ru" onclick="loadpage(this); return false;">link 2</a>
<div></div>
</body>
</html>
|
Спасибо большое за ответ, я попытался внедрить это в свой код, но он у меня не работает.
Привел пример: http://cssdeck.com/labs/nh2dofgk То есть нужно при переходе по ссылке, показывать DIV уже с другим содержимым. Пример: Нажимаю на 1 ссылку, вижу содержимое div'a с классом 'content' Нажимаю на 2 ссылку, показывается уже Другой DIV с другим классом и его содержимым, а предыдущий div скрывается, допустим, через display: none. P.S Вся ночь ушла, чтобы реализовать задуманное. Я был бы искренне рад, если бы мне помогли. Я чувствую, что решение где-то рядом, но я его не вижу. |
типа такого?
<html>
<head>
<title>Тестирование</title>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
</head>
<body>
<a href="#content1" onclick="link(this);">link 1</a>
<a href="#content2" onclick="link(this);">link 2</a>
<div class="content">
<div class="content1" style="display: block;">1111111</div>
<div class="content2" style="display: none;">222222222</div>
</div>
<script>
var prev = $('.content1');
function link (ths) {
var href = ths.getAttribute('href'),
cl = href.split('#')[1],
obj = $('.' + cl);
prev.css('display', 'none');
obj.css('display', 'block');
prev = obj;
}
</script>
</body>
</html>
|
Это то, что мне нужно! Только нужно показывать все содержимое div'a с классом 'content', а при нажатии на другую ссылку показывать другой DIV с другим классом и содержимым
P.S Всего в каждом div'e по 4 класса:
<div class="content">
<div class="content1">1111111</div>
<div class="content2"">222222222</div>
<div class="content3">222222222</div>
<div class="content4">222222222</div>
</div>
|
Вот такой html код я имею на данный момент:
<body>
<div class="main_header" style="text-align: center">
<a href="#" id="firstlink"></a>
<a href="#" id="secondlink"></a>
<a href="#" id="thirdlink"></a>
<a href="#" id="fourthlink"></a>
</div>
<div class="banner">
<div id="content1"></div>
<div id="content2"></div>
<div id="content3"></div>
<div id="content4"></div>
</div>
<div class="banner2">
<div id="content5"></div>
<div id="content6"></div>
</div>
</body>
Пока что, при нажатии на эти ссылки ничего не происходит. Как виден был DIV, так он и останется видимым. Допустим, ссылка с классом 'first' показывает DIV с классом banner. При нажатии на ссылку с классом 'secondlink' должен показываться ДРУГОЙ DIV С ДРУГИМ СОДЕРЖИМЫМ. То есть, нужно как-то привязать ссылки к div'ам с разными классами и при нажатии на эти самые ссылки показывать DIV с классом, который к нему привязан. Простите, если я вас мучаю. Если это сложно реализуется, то я забью на эту идею, потому как кроме этого форума мне никто другой не поможет (Конечно, можно заплатить, но стоит ли это денег, если это, _возможно_ реализуется довольно легко) |
Лучше вот такой HTML
<style>.banner{display:none;}</style>
<div class="main_header" style="text-align: center">
<a href="#" id="firstlink">firstlink</a>
<a href="#" id="secondlink">secondlink</a>
<a href="#" id="thirdlink">thirdlink</a>
<a href="#" id="fourthlink">fourthlink</a>
</div>
<div class="banner" id="div_firstlink">
<div id="content1">Тут DIV от ссылки firstlink </div>
</div>
<div class="banner" id="div_secondlink">
<div id="content5">Тут DIV от ссылки secondlink</div>
</div>
<div class="banner" id="div_thirdlink">
<div id="content5">Тут DIV от ссылки thirdlink</div>
</div>
<div class="banner" id="div_fourthlink">
<div id="content5">Тут DIV от fourthlink</div>
</div>
и вот такой javascript
var handler = {
handlerClick : function () {
$('.main_header a').on('click', function () {
var idlink = this.id;
changeDiv(idlink);
return false;
});
}
};
function changeDiv(a){
$('.banner').css('display', 'none');
$('#div_'+a).css('display', 'block');
};
function init() {
handler.handlerClick();
};
$(document).ready(function(){
init();
});
Не забудьте подключить JQUERY ! |
Вы сделали мне подарок на новый год! Спасибо большое, все работает как часы!
P.S Может до этого я как-то не так высказывался, поэтому не могли помочь, в любом случае спасибо большое вам! Как я рад! |
| Часовой пояс GMT +3, время: 22:23. |