Как поменять местами
Здравствуйте!
Есть две радио кнопки "Слева" и "Справа". При клике на кнопки должно переставляться изображение слева или справа относительно текста. Подскажите, можно как это безболезненно реализовать. Текст приходит из другого импута через .keyup и может меняться в любой момент. Изображение так же может изменяться через .click Со вставкой текста и изображения у меня проблем нет, а вот как сделать переключатель чтобы изображение ставить справа или слева относительно текста у меня проблема. Вот макет: <!-- Место где нужно переставлять местами --> <div id="positMansard"> <img src=" "> <span id="krMod">Текст</span> </div> <!-- Переключатель позиции --> <div class="btn-group" data-toggle="buttons"> <label class="btn active"><input type="radio" name="position" value="1" checked>Слева</label> <label class="btn"><input type="radio" name="position" value="2">Справа</label> </div> Изначально я добавил перед изображением ещё один пустой span с id="krMod1", а в spane по умолчанию изменил на krMod2 И начал писать скрипт:
$(function() {
var position = $('input[name="position"]');
position.change(function(event) {
var imgPos = $(this).val();
if(imgPos == 2) {
$("#krMod1").replaceAll($("#krMod2"));
} else $("#krMod1").replaceWith($("#krMod2"));
//console.log(imgPos);
});
});
Но понимаю что что то не то я делаю. Вот пришёл на форум за советами и подсказками. |
Можно добавлять к родителю 'positMansard' - сlass вроде такого:
.class span{ float: left} .class img {float:right} Элементы выпадут из потока и поменяются местами. Хотя это на любителя вариант, но вполне возможно так делать и проще, мне кажется. |
MC-XOBAHCK,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var position = $('input[name="position"]'), children = $("#positMansard").children();
position.change(function(event) {
var imgPos = position.index(":checked");
children.eq(imgPos).appendTo("#positMansard")
}).change();
});
</script>
</head>
<body>
<!-- Место где нужно переставлять местами -->
<div id="positMansard">
<img src="https://javascript.ru/forum/image.php?u=60342"> <span id="krMod">Текст</span>
</div>
<!-- Переключатель позиции -->
<div class="btn-group" data-toggle="buttons">
<label class="btn active"><input type="radio" name="position" value="1" checked>Слева</label>
<label class="btn"><input type="radio" name="position" value="2">Справа</label>
</div>
</body>
</html>
|
рони, СПАСИБО!
Работает. Я все новые для меня функции нашёл в документации, но мне нужно теперь время чтобы их разобрать. Можно ли уточнить, как мне картинку позиционировать согласно названий кнопок. То есть чтобы при клике на "Слева" - слева находилась картинка. |
заменить
appendTo на prependTo |
Цитата:
|
j0hnik, СПАСИБО - теперь работает как мне нужно.
|
Цитата:
Спасибо за помощь! |
| Часовой пояс GMT +3, время: 11:43. |