Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает переключение элементов в слайдере (https://javascript.ru/forum/jquery/43060-ne-rabotaet-pereklyuchenie-ehlementov-v-slajjdere.html)

gummet 20.11.2013 12:08

Не работает переключение элементов в слайдере
 
Добрый день!
Пожалуйста, помогите разобраться в чем проблема. Я пока новичок, если вопрос глупый, заранее прошу меня простить. Пытался разобраться сам, но увы.
Имеем таблицу, в которой есть 1)картинка 2)пункты(.banner-item-active) 3)подпункты(.submenu), которые связаны между собой:
<table class="banner-menu" border="0" cellpadding="0" cellspacing="0">
            	<tr>
                	<td class="banner-item-active"><img class="banner-item-photo" src="bone/0f.jpg" alt="" /><a href="">Лаборатория процессов и оборудования консервного производства</a><ul class="submenu"><li><a href="">Технология сушки растительного сырья</a></li><li><a href="">Проектирование производственных предприятий</a></li><li><a href="">Процессы и оборудование асептического консервирования</a></li><li><a href="">Стерилизация пищевой продукции</a></li></ul></td>
                </tr>
                <tr>
                	<td><a href="">Испытательный центр и орган сертификации</a><ul class="submenu"><li><a href="">Испытательные лаборатории</a></li><li><a href="">Орган по сертификации</a></li><li><a href="">Документы для проведения испытаний оценки соответствия</a></li></ul><img class="banner-item-photo" src="bone/0f2.jpg" alt="" /></td>
                </tr>
                <tr>
                	<td><img class="banner-item-photo" src="bone/0f3.jpg" alt="" /><a href="">Отдел применения тары в консервной промышленности</a><ul class="submenu"><li><a href="">Металлическая тара</a></li><li><a href="">Стеклянная тара</a></li><li><a href="">Лакокрасочные покрытия</a></li><li><a href="">Инновационные исследования</a></li><li><a href="">Исследования качества тароупаковочных изделий</a></li><li><a href="">Разработка НТД</a></li></ul></td>
                </tr>
                <tr>
                	<td><img class="banner-item-photo" src="bone/0f4.jpg" alt="" /><a href="">Лаборатория технологии консервирования</a><ul class="submenu"><li><a href="">О лаборатории</a></li><li><a href="">Готовые разработки</a></li><li><a href="">Стоимость разработок</a></li><li><a href="">Консультации</a></li></ul></td>
                </tr>
                <tr>
                	<td class="banner-item-last"><img class="banner-item-photo" src="bone/0f5.jpg" alt="" /><a href="">Учебная и научно-техническая деятельность</a><ul class="submenu"><li><a href="">Курсы повышения квалификации</a></li><li><a href="">Разработки</a></li><li><a href="">Аспирантура</a></li><li><a href="">Публикации сотрудников</a></li><li><a href="">Совет молодых ученых</a></li><li><a href="">Конференции</a></li></ul></td>
                </tr>
</table>

На jQuery идет перебор элементов, соответственно должны одновременно меняться картинка+пункт +подпункт. Проблема в том, что картинка и пункт меняются, а подпункт нет. При наведении все работает как и должно.
Сам скрипт:
$(document).ready(function() {
	$(".banner-menu td").hover(
		function() {
			$(".banner-menu").find("td.banner-item-active").removeClass("banner-item-active");
			$(this).addClass("banner-item-active");
			$(this).children("ul").css("display", "block");
			clearInterval(timer);
		},
		function() {
			$(this).children("ul").css("display", "none");
			timer = setInterval(slide_show, 2500);
		}
	);
	var timer;
	function slide_show() {	
		var el;
		el = $('.banner-item-active');
		if(el.parent('tr').next('tr').find('td').length > 0) {
			el.parent('tr').next('tr').find('td').addClass('banner-item-active');
            el.find(".submenu").css("display", "block");
    				
		} else {
			$('.banner-menu tr:first td').addClass('banner-item-active');
            el.find(".submenu").css("display", "block");		
		}
		el.removeClass('banner-item-active');
                $(this).children("ul").css("display", "none");
	}
	timer = setInterval(slide_show, 2500);
});


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