Показать сообщение отдельно
  #1 (permalink)  
Старый 20.03.2012, 22:04
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

В одном месте функция работает нормально, в другом не работает вообще
Чтобы не быть голословным, сразу все листинги:
<div class="block" id="0" name="0">
	<div class="block_header">
		<div class="block_name">Main</div>
		<div class="block_acts">
			<button class="reduct">Редактировать</button><br />
			<button class="remove">Удалить</button>
		</div>
	</div>
	<div class="block_text"></div>
</div>

$("div.block_name").click(function() {
/* Даю this постоянную переменную, чтобы обращаться из других мест, где он переназначается */
	var elem = this;
/* Если элемент еще не отображается, то загружается его текст и он показывается на странице */
	if ($(this).parent("div.block_header").next("div.block_text").css("display") == "none") {
		$.ajax({
			url: "?id=block&block="+$(this).parents("div.block").attr("id")+"&action=get_text",
			dataType: "html",
			success: function(html) {
				$(elem).parent("div.block_header").next("div.block_text").text(html).slideDown("slow");
			},
		});
	}
/* В противном случае элемент наоборот, убирается со страницы и из него удаляется текст */
	else {
		$(this).parent("div.block_header").next().slideUp("slow").empty();
	}
});

$("button.reduct").click(function() {
	var elem = this;
	if 
/* Если элемент, которым манипулировали в прошлой функции, не показан на странице, то имитируется событие из прошлой функции, для того, чтобы элемент отобразился */($(this).parents("div.block_header").next("div.block_text").css("display") == "none") {
		$(elem).parents("div.block_header").children("div.block_name").click();
	}

Однако элемент не отображается. Даже текст в него не вставляется, хотя с сервера загружается. Причем первый обработчик прекрасно справляется со своей задачей. Я пробовал копировать нужный фрагмент и вставить его в это условие - бесполезно.
Что очень примечательно, когда я делал эту штуку, я не загружал текст с сервера, а хранил его в элементе сразу. Все работало нормально. Здесь же, если я вставлю текст сразу в код и закомментирую фрагмент, который заменяет текст в элементе, то результат все равно нулевой.
Вобщем, очень надеюсь на вашу помощь, я уже третий день голову ломаю...
Ответить с цитированием