Скрытие div

Тема в разделе "JavaScript", создана пользователем LOMANI, 21 фев 2013.

  1. LOMANI

    LOMANI

    Регистрация:
    18 янв 2013
    Сообщения:
    76
    Симпатии:
    5
    есть скрипт на открытие и скрытие 2х дивов
    проблема в том что при открытии 2х двивов, поочередно, они открываются друг за другом, т.е. показываются столбиком

    нужно доработать скрипт так чтоб при открытии 2го дива , див номер 1 скрывался

    Код:
    $(document).ready(function(){
     
    	$("#contactArea").css('height', '0px');
     
    	$("a.upslide").toggle(
    				function () {
    					$("#contactArea").animate({height: "225px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'})
    				},
    				function () {
    					$("#contactArea").animate({height: "0px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'}) 
    				}
    		);
     
    	$("#contactArea2").css('height', '0px');
     
    	$("a.upslide2").toggle(
    				function () {
    					$("#contactArea2").animate({height: "225px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'})
    				},
    				function () {
    					$("#contactArea2").animate({height: "0px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'}) 
    				}
    		);
    	   
    }); 
     
  2. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    LOMANI , сформулируйте задачу конкретнее, приведенный кусок кода переключает состояние дивово, а что нужно Вам?
     
  3. LOMANI

    LOMANI

    Регистрация:
    18 янв 2013
    Сообщения:
    76
    Симпатии:
    5
    это не кусок, это полный код.. больше нету ничего, кроме самих дивов и стандартной библиотеки jq

    всё правильно, этот код переключает состояние дивов... нужно чтоб в момент открытия дива $("#contactArea") закрывался $("#contactArea2") и на оборот когда открывается див $("#contactArea2") то див $("#contactArea") закрывается

    т.е. (по умолчанию все див закрыты)
    я жму на кнопку $("a.upslide2") то див $("#contactArea") закрывается (если он открыт), а див $("#contactArea2") открывается, повторное нажатие на эту кнопку просто закрывает див $("#contactArea2")
    я жму на кнопку $("a.upslide") то див $("#contactArea2") закрывается (если он открыт), а див $("#contactArea") открывается, повторное нажатие на эту кнопку просто закрывает див $("#contactArea")

    з.ы. ну естественно сначала должно происходить действие "закрытия" , а потом "открытие"
     
  4. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    Код:
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    	function setHideShow(divs, divh)
    	{
    		$(divs).show();
    		$(divh).hide();
    	}
    </script>
     
    <a href="#" onclick="setHideShow('#contactArea', '#contactArea2')">upslide</a>
    <a href="#" onclick="setHideShow('#contactArea2', '#contactArea')">upslide2</a>
     
    <div id="contactArea" style="display:none">test1</div>
    <div id="contactArea2" style="display:none">test2</div>
     
  5. LOMANI

    LOMANI

    Регистрация:
    18 янв 2013
    Сообщения:
    76
    Симпатии:
    5
    такс
    это новый вариант моего извращения??

    я делал через jquery.easing.1.3.js
    --- добавлено: 22 фев 2013 в 13:01 ---
    з.ы. повторное нажатие не убирает раскрытый див
     
  6. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    Код:
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    	function setHideShow(divs, divh)
    	{
    		$(divs).toggle();
    		$(divh).hide();
    	}
    </script>
     
    <a href="#" onclick="setHideShow('#contactArea', '#contactArea2')">upslide</a>
    <a href="#" onclick="setHideShow('#contactArea2', '#contactArea')">upslide2</a>
     
    <div id="contactArea" style="display:none">test1</div>
    <div id="contactArea2" style="display:none">test2</div>
    --- добавлено: 22 фев 2013 в 13:28 ---
    а есть ли смысл подключать библиотеку для простого действия?
     
  7. LOMANI

    LOMANI

    Регистрация:
    18 янв 2013
    Сообщения:
    76
    Симпатии:
    5
  8. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
  9. Xrymz

    Xrymz

    Регистрация:
    10 янв 2013
    Сообщения:
    6
    Симпатии:
    2
    для ТС советую использовать jsfiddle для показа кусков кода с jquery и т.п., людям будет проще помочь когда смогут пощупать код сами :Smile:
     
  10. veterok

    veterok

    Регистрация:
    13 ноя 2012
    Сообщения:
    54
    Симпатии:
    8
    Вот это совсем ни к чему, Toggle - более чем достаточно, если уже подключенна jquery
     
  11. TiMoscow

    TiMoscow

    Регистрация:
    13 фев 2022
    Сообщения:
    0
    Симпатии:
    0