Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.03.2015, 01:02
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

Помогите разобраться с jquery.collapse.js
Сначала начну с того, что нужно получить.
Есть форум http://motobratva.com/index.php где категории сворачиваются/разворачиваются при нажатии на кнопки, состояние запоминается.
Код самописный, анимация сделана через slideUp/slideDown/animate, возможно поэтому не очень плавная.

Нашел библиотеку jquery.collapse.js,
Примеры здесь http://webcloud.se/jQuery-Collapse/
Описание здесьhttps://github.com/danielstocks/jQue...979a/README.md
У человека http://www.dmzx-web.net/ на более ранней версии библиотеки, похоже по этому примеру http://www.ppkbb3cker.ru/viewtopic.php?f=56&t=2308 все работает плавно и красиво.
но, я никак не могу разобраться с работой этой библиотеки и вызовами.
Хочу получить то же, что и сейчас, но на базе библиотеки jquery.collapse.js с плавной анимацией.


все эксперименты проводятся на тестовом сайте, ссылку могу предоставить, но его надо подключать через hosts

что пробовал...
подключил библиотеки и следующим кодом завернул разделы forabg в общий блок forumlist
$('.forabg').wrapAll('<div class="forumlist" data-collapse/>');

скрипт добавил свои данные в структуру
<div class="forumlist" data-collapse="">
<div class="forabg" data-collapse-summary="" aria-expanded="false">
<div class="forabg" style="display: none;" aria-hidden="true">
<div class="forabg" data-collapse-summary="" aria-expanded="false">
</div>

заголовки у меня стали кликабельны, но почему-то всегда сворачивается второй раздел при клике на первый.
на этом застрял

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

помогите пожалуйста разобраться.
что-то сам никак, туплю.

Последний раз редактировалось alecto, 10.03.2015 в 01:49.
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2015, 01:59
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

поставил другую версию библиотеки
* Collapse plugin for jQuery
* http://github.com/danielstocks/jQuery-Collapse/
*
* @author Daniel Stocks (http://webcloud.se)
* @version 0.9.1


с таким кодом заработало

(function ($) {  

	$('.forabg').wrapAll('<div class="forumlist"/>');

	$('.topiclist.forums').before('<div class="trigger active"></div>').wrap('<div class="collapsethis" />');





 $(".forumlist").collapse({show: function(){
this.animate({
opacity: '1.0',
height: 'toggle'
}, 300);
},
hide : function() {
this.animate({
opacity: '0.3',
height: 'toggle'
}, 300);
}
});


})(jQuery);


как заставить работать с версией 1.1.0?
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2015, 02:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

alecto,
а смысл менять одно на другое если вас только плавность неустраивает
ставите jquery-ui выбираите нужную плавность http://api.jqueryui.com/easings/
и получите тотже эффект и может лучше
http://jsbin.com/kiyemetezu/1/
Ответить с цитированием
  #4 (permalink)  
Старый 10.03.2015, 02:30
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

в принципе разобрался, на старой версии библиотеки построил. на новой - почему-то не работает.

рони, речь идет не о скорости анимации, с ней все понятно.
я имею ввиду плавность анимации.
она не сравнима. почему - не знаю.
Ответить с цитированием
  #5 (permalink)  
Старый 10.03.2015, 02:37
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

рони, если вы успели пробовать, как было... залил на основу, попробуйте как стало работать http://motobratva.com/index.php - небо и земля.

единственный вопрос - как заставить работать в новой версии библиотеки.
Ответить с цитированием
  #6 (permalink)  
Старый 10.03.2015, 02:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

alecto,
чтобы заменить slideUp(500) на animate({height: 'toggle'}) вы тащите устаревший плагин к себе на форум?
Ответить с цитированием
  #7 (permalink)  
Старый 10.03.2015, 02:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

вы смотрели вариант по ссылке в 3 посте? если не устроил более ничем помочь не могу
Ответить с цитированием
  #8 (permalink)  
Старый 10.03.2015, 02:46
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

уже засыпаю, не заметил ссылок.
наверно вы правы. можно поиграться с замедлениями.
что нужно менять для варианта .slideUp(100), чтобы получить замедления?

Последний раз редактировалось alecto, 10.03.2015 в 02:51.
Ответить с цитированием
  #9 (permalink)  
Старый 10.03.2015, 02:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

alecto,
добавлено после jquery.min
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
и измененён только этот блок
// отрабатываем клики показать/скрыть категорию
	$('.collapsetrigger').click(function() {
	    var showhidden_triger_this = $(this).next().attr('aria-hidden');
	    if (showhidden_triger_this == "false") {
	        $(this).next().attr('aria-hidden', 'true').slideUp(800, 'easeOutQuart', function() {
	            $(this).parents('div.forabg').animate({
	                opacity: '0.4'
	            }, 500)
	        });
	        $(this).removeClass(active).addClass(inactive);
	    } else {
	        $(this).parents('div.forabg').animate({
	            opacity: '1.0'
	        }, 300, function() {
	            $('.collapsetrigger', this).next().attr('aria-hidden', 'false').slideDown(1500, 'easeOutQuad')
	        })

	        $(this).removeClass(inactive).addClass(active);
	    }
	    localStorage.setItem($(this).attr('cat'), showhidden_triger_this); // сохраняем

	});
Ответить с цитированием
  #10 (permalink)  
Старый 10.03.2015, 03:15
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

обратно не хочет разворачиваться.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите разобраться с this uroboros7 jQuery 4 02.01.2015 00:56
Помогите разобраться с калькулятором Maksim858 Ваши сайты и скрипты 1 27.12.2014 13:23
Получение ответа сервера через iframe и xhr. Помогите разобраться. Arconas AJAX и COMET 0 26.02.2013 10:38
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24