Показать сообщение отдельно
  #9 (permalink)  
Старый 15.11.2017, 18:47
Аспирант
Отправить личное сообщение для Ленча Посмотреть профиль Найти все сообщения от Ленча
 
Регистрация: 13.07.2014
Сообщений: 78

У li точно есть id - прописывается с помощью php в процессе формирования меню.

А вот ни load ни ajax я, к сожалению, не нашла. Попробовала вставить эту фиговинку прямо в скрипт меню, но оно, увы, не заработало. Вот скрипт меню полностью

(function($) {

	//define the defaults for the plugin and how to call it
	$.fn.accordeonmenuck = function(options) {
		//set default options
		var defaults = {
			eventtype: 'click',
			fadetransition: false, // pas encore implemente
			transition: 'linear',
			duree: 500,
			imageplus: 'modules/mod_accordeonck/assets/plus.png',
			imageminus: 'modules/mod_accordeonck/assets/minus.png',
			// menuID : 'accordeonck',
			defaultopenedid: '0',
			showactive: true,
			activeeffect: true
		};

		//call in the default otions
		var opts = $.extend(defaults, options);
		var menu = this;

		//act upon the element that is passed into the design
		return menu.each(function(options) {

			var fxtransition = defaults.fxtransition;
			accordeonmenuInit();

			function accordeonmenuInit() {
				$(".parent.active.separator > a").addClass('test');
				$(".parent > ul", menu).hide();
				if (opts.showactive && !opts.activeeffect) {
					$(".parent.active > ul", menu).show().parent().addClass("open");
					$(".parent.active > img.toggler", menu).attr('src', opts.imageminus);
				} else if (opts.showactive && opts.activeeffect) {
					togglemenu($(".parent.active > .toggler, .parent.active.separator > a", menu));
				}
				if (opts.defaultopenedid && !$(".active.parent", menu).length) {
					$(".item-"+opts.defaultopenedid+" > ul", menu).show().parent().addClass("open");
					$(".item-"+opts.defaultopenedid+" > img.toggler", menu).attr('src', opts.imageminus);
				}
				if (opts.eventtype == 'click') {
					$("li.parent > .toggler, li.parent.separator > a", menu).click(function() {
						togglemenu($(this));
					});
				} else {
					$("li.parent > .toggler", menu).mouseenter(function() {
						togglemenu($(this));
					});

				}
				
				var ac_ch = $('.accordeonck li.active:not(.level1)');
				if (ac_ch.length) {
					var ac_pr = ac_ch.parent().parent('li.parent');
					while(ac_pr.length) { 
						$('> ul', ac_pr).slideDown({
							duration: opts.duree,
							easing: opts.transition,
							complete: function() {
								$(this).parent().addClass('open');
								if ($('> img', $(this).parent()).length) {
									$('> img', $(this).parent()).attr('src', opts.imageminus);
								}
							}
						});
						
						ac_pr = ac_pr.parent().parent('li.parent:not(.level1)');
					}
				}
			}

			function togglemenu(link) {
				ck_content = link.parent();
				if (!link.parent().hasClass("open")) {
					$(".parent > ul", ck_content.parent()).slideUp({
						duration: opts.duree,
						easing: opts.transition,
						complete: function() {
							$(".parent", ck_content.parent()).removeClass("open");
							$(".parent > img.toggler", ck_content.parent()).attr('src', opts.imageplus);
							if (link.get(0).tagName.toLowerCase() == 'img')
								link.attr('src', opts.imageplus);
							if (link.get(0).tagName.toLowerCase() == 'a')
								$("> img.toggler", link.parent()).attr('src', opts.imageplus);
						}
					});
					link.nextAll("ul").slideDown({
						duration: opts.duree,
						easing: opts.transition,
						complete: function() {
							link.parent().addClass("open");
							if (link.get(0).tagName.toLowerCase() == 'img')
								link.attr('src', opts.imageminus);
							if (link.get(0).tagName.toLowerCase() == 'a')
								$("> img.toggler", link.parent()).attr('src', opts.imageminus);
						}
					});
				} else {
					link.nextAll("ul").slideUp({
						duration: opts.duree,
						easing: opts.transition,
						complete: function() {
							link.parent().removeClass("open");
							if (link.get(0).tagName.toLowerCase() == 'img')
								link.attr('src', opts.imageplus);
							if (link.get(0).tagName.toLowerCase() == 'a')
								$("> img.toggler", link.parent()).attr('src', opts.imageplus);
						}
					});
				}
			}
		});
	};
		$(function (){
                var act = $('li.level1.open');
				act.prependTo(act.parent());
            });
})(jQuery);


в самом низу, перед закрывающим })(jQuery); - моя вставка.

Последний раз редактировалось Ленча, 15.11.2017 в 18:49.
Ответить с цитированием