Просмотр полной версии : подгрузка на ajax, или изменение кода на стороне клиента
.::BARS::.
18.10.2009, 14:19
вопрос такого плана... есть картинки
img1 img2 img3
3 дива
<div pop></div>
<div rap></div>
<div popca></div>
и
поле для вывода текста
==========
допустим при нажатии на img1 вызывается текст лалала - это впринципе ничего сложного, но как сменить <div pop></div> на
<div rap></div>? т.е. нужно не подгрузить содержимое, а внести изменение в код...
див должен смениться не перезагрузив страницу...
вопрос такого плана... есть картинки
img1 img2 img3
3 дива
<div pop></div>
<div rap></div>
<div popca></div>
и
поле для вывода текста
==========
допустим при нажатии на img1 вызывается текст лалала - это впринципе ничего сложного, но как сменить <div pop></div> на
<div rap></div>? т.е. нужно не подгрузить содержимое, а внести изменение в код...
див должен смениться не перезагрузив страницу...
Ни слова не понял вообще.
Что-то типа этого:
<script type="text/javascript">
$(function() {
$('#myLink').click(function() {
$("#pop").attr({
id: "rap",
});
});
});
</script>
<a href="#" id="myLink">Click</a>
<div id="pop">sss</div>
.::BARS::.
18.10.2009, 14:56
Ни слова не понял вообще. - ниже уже ближе
<script type="text/javascript">
$(function() {
$('#myLink').click(function() {
$("#pop").attr({
id: "rap",
});
});
});
</script>
<a href="#" id="myLink">Click</a>
<div id="pop">sss</div>
а как теперь передать в клике индефикатор.. на что менять, на pop или на popsa
.::BARS::.
18.10.2009, 15:02
<script type="text/javascript">
$(function() {
$('#myLink').click(function() {
$("#1").attr({
id: "2",
});
});
});
</script>
<a href="#" id="myLink">Click1</a>
<a href="#" id="myLink">Click2</a>
<a href="#" id="myLink">Click3</a>
<div id="1">sss</div>
<div id="2">sss</div>
<div id="3">sss</div>
-----------
вот впринципе так... но в этом коде он сменит просто див с 1 на 2
а если я опять нажму на клик1, но назад не меняет...
POS_troi
18.10.2009, 15:10
jQuery - копай
.::BARS::.
18.10.2009, 15:15
jQuery - копай
копал... ничего хорошего не накопал..
непонятно про какой ты идентификатор говоришь...
Вот те офф. офигительная документация с примерами по жквери
http://docs.jquery.com/Manipulation/replaceWith#content
$(function() {
$('#myLink').click(function() {
var attribute = $("#pop").attr("id");
if(attribute == 'pop') {
//alert(attribute);
$("#pop").attr({ id: "rap",});
} else {
$("#rap").attr({ id: "pop",});
}
});
});
.::BARS::.
18.10.2009, 15:48
http://slavabars.ru/11.JPG
http://slavabars.ru/22.JPG
http://slavabars.ru/33.JPG
вот как надо...
где крестик - это на что нажимает...
цветная область - это и есть div
.::BARS::.
18.10.2009, 15:51
непонятно про какой ты идентификатор говоришь...
Вот те офф. офигительная документация с примерами по жквери
http://docs.jquery.com/Manipulation/replaceWith#content
совершенно не то
-=Zhenek=-
18.10.2009, 16:23
А не проще ли просто при нажатии на кнопку скрывать не нужные дивы?
visible:none
.::BARS::.
18.10.2009, 16:31
не проще... нужно именно менять див
imajo.ati
18.10.2009, 20:17
<img alt="img1" src="./img1" onclick="document.getElementById('out').innerHTML =document.getElementById('pop').innerHTML">
<img alt="img2" src="./img2" onclick="document.getElementById('out').innerHTML =document.getElementById('rap').innerHTML">
<img alt="img3" src="./img3" onclick="document.getElementById('out').innerHTML =document.getElementById('popca').innerHTML">
<div id="pop">123</div>
<div id="rap">456</div>
<div id="popca">789</div>
<div id="out">тут будет содержимое дива</div>
Если я тебя правильно понял и нужно изменить параметры/содержимое сужествующего элемента в коде, то используй obj.getAttribute(name) и obj.setAttribute(name, value) для работы с его аттрибутами и obj.innerHtml/obj.outerHtml для его содержимого.
Причем последний полностью перезапишет код, вместе с самим тегом:
было:
<div id="foo">...</div>
<div id="bar">...</div>
<div id="other">...</div>
выполнили:
document.getElementById('bar').outerHTML = '<span>test</span>';
стало:
<div id="foo">...</div>
<span>test</span>
<div id="other">...</div>
.::BARS::.
19.10.2009, 01:39
Helios, не надо перезаписывать сам тег, нужно сменить только имя дива
imajo.ati, нифига не выходит.... меняет только если див уже выведен в браузер.... подгрузки нет..
http://slavabars.ru/5.JPG
вот что надо... при щелчке на первую афишу, картинка в левом верхнем углу - меняется на поп, на середину - на рок, на третью, - попса...
вот как выглядет это в хтмл
<!--
**********************************
Классы для смены картинок
rnb-entry
pop-entry
dj-entry
hiphop-entry
rnr-entry
**********************************
-->
<div class="entry rnr-entry">
содержимое
<li><div><a href="#"><img src="assets/i/temp/af.jpg" alt="" /></a></div><i></i></li>
<li class="active"><div><a href="#" title="Фото 8"><img src="assets/i/temp/af.b.jpg" alt="" /></a></div><i></i></li>
<li><div><a href="#"><img src="assets/i/temp/af.jpg" alt="" /></a></div><i></i></li>
содержимое
</div>
.::BARS::.
19.10.2009, 14:11
<div class="entry rnr-entry"> - вот этот фрагмент самый злостный...
ну так кто тебе мешает пользоваться setAttribute?
function setClass(div_id, classname)
{
document.getElementById(div_id).setAttribute('clas s', 'entry ' + classname);
}
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot