Я знаю, что это простая вещь, но я не могу понять, что я делаю неправильно. У меня есть тег h2, который будет запускать функцию при щелчке, после этого найдет div с классом "homeSlide", а затем запустит метод slideToggle. Однако я не могу заставить контент скользить, не делая двух разделов ниже с тем же именем класса, что и слайд.
Вот мой HTML:
<h2>Header</h2>
<div id="home_newproducts_list">
<div class="category-products">
<ul class="products-grid">
<li>Hold fetured products so will be excluded from the slideToggle</li>
</ul>
<div class="homeSlide">
<!-- Content that needs to be displayed on slide -->
</div>
</div>
</div>
Jquery:
jQuery(document).ready(function(){
jQuery("#home_newproducts_list ul.products-grid").not(":first").wrapAll('<div class="homeSlide">');
jQuery(".home-spot h2").click(function(){
jQuery(this).next('.homeSlide').slideToggle(1000);
});
});
Надеюсь, я объяснил это достаточно подробно.
Поэтому все, что я хочу сделать, это запустить метод slideToggle в div homeSlide, но только на следующем после h2.
jQuery(".home-spot h2")
предполагая, что вы выбираете элемент <h2>Header</h2>
здесь
попробуйте со next()
и find()
.
jQuery(this).next().find('.homeSlide').slideToggle(1000);
next()
получает сразу следующий брат, который является div # home_newproducts_list в вашем случае