Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2010, 12:09
Новичок на форуме
Отправить личное сообщение для mike_s Посмотреть профиль Найти все сообщения от mike_s
 
Регистрация: 31.05.2010
Сообщений: 5

Вопрос по slideToggle
Есть форма с двумя input radio и невидимым div#floor:
<form>
	<div>
		<input type="radio" id="bild-type-panel" name="bild-type" value="pdr" />
		<input type="radio" id="bild-type-brick" name="bild-type" value="kdr" />
	</div>
	<div style="display:none;" id="floor"></div>
</form>


При выборе одного из input делаю div#floor видимым и подгружаю в него содержимое:
$(document).ready(function(){
	$('#bild-type-panel').click(function(){							
		$('#floor').slideToggle("slow");								
		$.ajax({
			url: "floor/floor-panel.html",
			cache: false,
			success: function(html){
				$("#floor").html(html);
			}
		});
	});	
$('#bild-type-brick').click(function(){
	$('#floor').slideToggle("slow");							
		$.ajax({
			url: "floor/floor-brick.html",
			cache: false,
			success: function(html){
				$("#floor").html(html);
			}
		});
	});
});


Проблема в том, что если пользователь передумал и выбрал другой input, то div#floor снова закроется.
Подскажите как сделать, чтобы если div#floor уже открыт не выполнять $('#floor').slideToggle("slow"); а просто подгружать содержимое.
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2010, 12:36
Новичок на форуме
Отправить личное сообщение для mike_s Посмотреть профиль Найти все сообщения от mike_s
 
Регистрация: 31.05.2010
Сообщений: 5

Добавил:
$("#floor:not(.active)").slideToggle("slow");
$('#floor').addClass("active");

Теперь работает. Нормальное ли это решение?

<script>
$(document).ready(function(){
	$('#bild-type-panel').click(function(){
		$("#floor:not(.active)").slideToggle("slow");
		$('#floor').addClass("active");								
		$.ajax({
			url: "floor/floor-panel.html",
			cache: false,
			success: function(html){
				$("#floor").html(html);
			}
		});
	});	
$('#bild-type-brick').click(function(){
	$('#floor').slideToggle("slow");	
		$("#floor:not(.active)").slideToggle("slow");
		$('#floor').addClass("active");									
		$.ajax({
			url: "floor/floor-brick.html",
			cache: false,
			success: function(html){
				$("#floor").html(html);
			}
		});
	});
});
</script>

Последний раз редактировалось mike_s, 08.10.2010 в 12:47.
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2010, 12:58
Новичок на форуме
Отправить личное сообщение для mike_s Посмотреть профиль Найти все сообщения от mike_s
 
Регистрация: 31.05.2010
Сообщений: 5

Вопрос можно удалить.
Понял всю его глупость.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по учебнику Invis1ble Сайт Javascript.ru 12 21.03.2011 20:06
Вопрос о циклических ссылках (JavaScript -> Dom -> JavaScipt) BlueIce Events/DOM/Window 10 17.02.2010 21:58
Вопрос про ООП, цепочки прототипов. Shaci Общие вопросы Javascript 5 27.01.2010 14:50
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47
вопрос по long poll megaswin AJAX и COMET 2 27.05.2008 09:20