JQuery меняем блоки местами

интернет программирование JavaScript веб дизайн jQuery

Подходящего для себя ответа не нашел, поэтому спрашиваю у сообщества.
Есть код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
.active { position:relative;float:right;width:100px;height:500px;border: rgba(228,58,61,1.00) 2px solid;}
.noactive { cursor:pointer; position:relative;float:right; width:100px;height:500px;}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('div').live('click', function() {
$(".noactive").click(function(){
var pdiv = $(this);
var b = $('div#1');
pdiv.insertBefore('div#1');
$('div#1').removeClass('active').addClass('noactive').attr('id',pdiv.attr('id'));
pdiv.removeClass('noactive').addClass('active').attr('id','1');
addListener($(this));
return false
});
})});
</script>
</head>
<body>
<div class="sidemenu" style="width:404px; height:550px;">
<div class="active" id="1"> <p>Block 1</p></div>
<div class="noactive" id="2"><p>Block 2</p></div>
<div class="noactive" id="3"><p>Block 3</p></div>
<div class="noactive" id="4"><p>Block 4</p></div>
</div>
</body>
</html>

Проблем 2 штуки:
1. неактивные блоки в первый раз срабатывают после 2 клика
2. активный блок после первой замены при клике исчезает.

Помогите люди добрые =)

Примечание:
Соник, ты реально СУПЕР!!! :+)
убрал лишний обработчик и всё заработало =)
<code>
$('.noactive').live('click', function() {
var pdiv = $(this); ...
</code>

Id нужны были для понимания куда что идет и идет ли вообще, в итоге их не будет, будет подстановка перед div:first.
Остальное должно быть именно так как написано.
Ответы:
1. Потому что у вас событие на клик по неактивному блоку привязывается только после клика по любому блоку,  $(".noactive").click...  надо вынести за пределы $('div').live('click'...


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.