Javascript.RU

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

JQuerry, раскрывающиеся div, нужна помощь.
Здравствуйте форумчане.

Нужна ваша помощь, с JQuerry не дружу, нашел интересующий меня скрипт, но нужна маленькая поправка.


Суть вот в чем: есть 10 ссылок на странице, при нажатии на каждую из них выводится скрытый блок. Хотелось что бы при нажатии на каждую последующую ссылку - предыдущий блок сворачивался. Помогите пожалуйста.

Код скрипта:

<script>
function gosts (objName) {
  if ( $(objName).css('display') == 'none' ) {
    $(objName).animate({height: 'show'}, 400);
  } else {
    $(objName).animate({height: 'hide'}, 200);
  }
}
</script>


Элементы его использующие

<a href="#" onclick="gosts('#divId'); return false"><img src="images/spoiler.gif" /></a>
<div id="divId" style="display: none">
Тут скрытый текст который нужно вывести
</div>


Заранее всем благодарен за советы.
Ответить с цитированием
  #2 (permalink)  
Старый 05.08.2011, 18:56
Кандидат Javascript-наук
Отправить личное сообщение для TicTac Посмотреть профиль Найти все сообщения от TicTac
 
Регистрация: 07.09.2010
Сообщений: 133

можно так
function gosts (objName) {
  if ( $(objName).css('display') == 'none' ) {
    $("div").animate({height: 'hide'}, 200);
	$(objName).animate({height: 'show'}, 400);
  } else {
    $(objName).animate({height: 'hide'}, 200);
  }
}


но лучше отделить JavaScript и HTML-код, и сделать по нормальному
Ответить с цитированием
  #3 (permalink)  
Старый 05.08.2011, 19:23
Новичок на форуме
Отправить личное сообщение для SeriousSam Посмотреть профиль Найти все сообщения от SeriousSam
 
Регистрация: 05.08.2011
Сообщений: 2

Да, спасибо, я уже пошуршал по форуму и нашел решение, чуть подредактировав уже имеющееся

инклюдю внешний файл js с этим скриптом

$(document).ready(function () {
	    showContext = function (event) {
	        var id = $(event.target).attr('id').slice(4);
	        var $id = $('#' + id);
	        var idStatus = $id.css('display');
	        $('.show_display').animate({height: 'hide'}, 200);
	        idStatus === 'none' ?
	            $id.animate({height: 'show'}, 400) : $id.animate({height: 'hide'}, 200);
	    }
	    $('img').bind('click', $.proxy(showContext, this));
	});


в стили добавляю

.show_display {display: none;}


В коде выглядит так

<ul>
           <li><a href="#"><img id="abcd1" src="images/img.gif" /></a></li>  
               <div id="1" class="show_display">текст</div>
</ul>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Срочно нужна помощь с jQuery, cookies xxxLOGIATxxx Библиотеки/Тулкиты/Фреймворки 0 08.05.2011 09:57
Страницы на ajax. Нужна помощь профи!!! trafbek AJAX и COMET 0 19.04.2011 15:37
Нужна помощь, если можно Fox-WNT Общие вопросы Javascript 3 27.07.2010 11:38
нужна помощь Sergiy Серверные языки и технологии 2 31.03.2010 20:16
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17