<div class="pointer">
Структура и органы управления образовательной организацией
<div class="slideT" style="display: block; overflow: hidden;">
блок который нужно свернуть или развернуть
</div>
</div>
<div class="pointer">Документы</div>
<div class="pointer">Образование</div>
<div class="pointer">Образовательные стандарты</div>
$(this).siblings()
? Он выбирает соседей кликнутого блока. В этом html:<div class="pointer> ... </div>
<div class="pointer">Документы</div>
<div class="pointer">Образование</div>
<div class="pointer">Образовательные стандарты</div>
Так мы выбрали все блоки для сворачивания, то что нужно.$(this).siblings()
? Он выбирает соседей кликнутого блока. В этом html:<div class="pointer-box">
<div class="pointer pointer-active">Заголовок</div>
<div class="pointer-text" style="display: block;">здесь будет текст</div>
</div>
<div class="pointer-box">
<div class="pointer">Заголовок</div>
<div class="pointer-text" style="display: none;">
</div>
<div class="pointer pointer-active">Заголовок</div>
<div class="pointer-text" style="display: block;">здесь будет текст</div>
console.log($(this));
console.log($(this).siblings());
console.log($(this).siblings().children(".pointer-text"));
— этот код покажет в консоли браузера коллекции элементов на каждом этапе. Так вы смогли бы сами сразу понять где ошиблись или куда идти дальше.$(this).parent().siblings()
<div class="pointer pointer-active">Заголовок</div>
<div class="pointer-box"> ...блок1... </div>
<div class="pointer-box"> ...блок2... </div>
.children(".pointer-text")
выберет в этих блоках именно то что нужно сверуть.$(this)
.parent()
.siblings()
.children(".pointer-text")
.slideUp("show")
.prev(".pointer").toggleClass("pointer-active");
var pointerBoxSiblings = $(this).parent().siblings();
pointerBoxSiblings
.children(".pointer")
.toggleClass("pointer-active");
pointerBoxSiblings
.children(".pointer-text")
.slideUp("show");
$(this)
.toggleClass("pointer-active")
.next(".pointer-text")
.slideToggle("show");
function partitionOfNumber(number, count, precision) {
const minElement = Math.floor(number / precision / count);
const countAdditionalElements = (number / precision) - count * minElement;
const result = [];
for (let i = 0; i < count; i++) {
if (i < countAdditionalElements) {
result[i] = (minElement + 1) * precision;
} else {
result[i] = minElement * precision;
}
}
return result;
}
// пример использования
partitionOfNumber(29.5, 6, 0.01).map(n => n.toFixed(2));
// выведет [ '4.92', '4.92', '4.92', '4.92', '4.91', '4.91' ]
.map(n => n.toFixed(2));
// $(document).ready(callback) запустит функцию callback когда весь документ загрузится
$(document).ready(function() {
// сразу при загрузке страницы нам нужно всё свернуть
$(".slideT") // выбирает все slideT
.hide(); // и скрывает их
// и повесить обработчики событий которые в дальнейшем
// будут делать всю работу по сворачиванию и разворачиванию
$(".pointer") // выбирает все pointer
.click(function () { // вешает обработчики события «клик»
// эта функция запустится при клике на любой pointer
// this в этой функции указывает на элемент по которому кликнули
// тут мы развернём блок по которому кликнули
$(this) // выбирает элемент по которому кликнули
.children(".slideT") // находит его ребёнка с классом slideT
.slideToggle("slow"); // запускает его медленное «переключение»*
// *slideToggle - это переключение состояния свёрнуто или развёрнуто,
// если элемент уже свёрнут, то развернёт. Или наоборот
// а тут мы свернём все блоки, кроме того по которому кликнули
$(this) // выбирает элемент по которому кликнули
.siblings() // выбирает всех его соседей, кроме него самого
.children(".slideT") // находит их детей с классом slideT
.slideUp("slow"); // запускает их медленное сворачивание
// если элементы уже свёрнуты, то slideUp ничего не сделает
});
})