Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery SlideDown Function (https://javascript.ru/forum/jquery/9023-jquery-slidedown-function.html)

KaizZzer 25.04.2010 16:57

jQuery SlideDown Function
 
помогите написать функцию так, чтобы она работала

<script type="text/javascript">
toggle=true;
   $(document).ready(function(){
	function open_answer(classdiv){
	     if(toggle){
		 $(classdiv).find("div.hided").slideDown(200);
		 toggle=false;
	     }else{
		 $(classdiv).find("div.hided").slideUp(200);
		 toggle=true;
	     };
	};
   });
</script>


Эта функция должна открывать/закрывать див с классом .hided

хтмл-код выглядит так:

<li class="show" >
  <a href="#" onclick="open_answer($(this).parent())">Вопрос</a>
  <div class="hided">Ответ</div>
</li>


На клике ничего не происходит. В чем ошибка?

micscr 25.04.2010 17:29

Вынеси описание функции open_answer в глобальное пространство имен. А то она описана внутри другой функции.

KaizZzer 25.04.2010 17:33

ога, сделал! теперь открываются вообще все ответы, если кликнуть по любой кнопке

UPD. Все работает. Спасибо!

mosquito 06.05.2010 12:30

"jquery: write less, do more" =\
если есть такая структура хтмл
<ul>
    	<li>
    		<a href="#" class="question">Question 1</a>
    		<div class="hided">
    			answer 1
    		</div>
        </li>
        <li>
        	<a href="#" class="question">Question 2</a>
    		<div class="hided">
    			answer 2
    		</div>
        </li>
    </ul>


может лучше сделать так
$(function(){
	$("div.hided").hide();
	$(".question").click(function(){
               	$(this).next("div.hided").toggle("slow");
         });
});

?0о


Часовой пояс GMT +3, время: 08:50.