Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Заменить значение height в div (https://javascript.ru/forum/misc/77785-zamenit-znachenie-height-v-div.html)

_marisha 21.06.2019 05:38

рони, всё равное не применяется заданная высота :( Видимо в slick слайдере не всё так просто...
let {style} = document.querySelector(".slick-track");
    style.height = "";
    style.maxheight = "498px"

laimas 21.06.2019 07:23

Цитата:

Сообщение от _marisha
Видимо в slick слайдере не всё так просто...

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

рони 21.06.2019 09:40

_marisha,
скорее всего нужных вам элементов несколько и нужен цикл, также для всего этого есть настройки в самом слайдере и css, смотрите документацию.

_marisha 21.06.2019 12:49

Вложений: 2
Цитата:

Сообщение от laimas (Сообщение 509282)
А почему не контейнеру, в котором размещен слайдер, задавать макс. высоту? А у самого слайдера для доступа к нему есть и опции, и методы, и события.

- высота устанавливается автоматически и зависит от количества элементов.
Пример:
1) если выводится 7 элементов, тогда чтобы все элементы влезали в видимую область можно указать
.slick-vertical .slick-slide{transform: translate3d(0, 20px, 0);}

В таком случае все элементы становятся как нужно и активный элемент выделен белым (скрин "7 элементов")

2) а если при таком же translate3d(0, 20px, 0); выводить порядка 11 элементов, тогда не видно активного элемента (скрин "11 элементов"). Но в таком случае можно указать translate3d(0, 220px, 0), тогда активный элемент видно.
Возможно ли сделать так, чтобы если у дива
<div class="slick-track" style="opacity: 1; height: 1674px; transform: translate3d(0px, -702px, 0px);"></div>
высота больше 400px,тогда применить
.slick-vertical .slick-slide{transform: translate3d(0, 20px, 0);}
. Иначе
.slick-vertical .slick-slide{transform: translate3d(0, [B]220px[/B], 0);}

laimas 21.06.2019 13:59

Ну так работайте с объектом/элементами, в его методах при событиях нужных или инициализации. Я не помню этот слайдер наизусть, но насколько память не изменят, то у него приличное количество методов, опций, событий, вполне хватит.

_marisha 25.06.2019 12:39

Удалось решить вопрос следующим образом:
var $slider = $('.slick-vertical .slick-slide');
    if ($slider.length > '8')
    {
        $('.slick-vertical .slick-slide').css('transform','translate3d(0, 220px, 0)');
        $('.name').css('padding','8px');
        $('.title_slider').css('height','480px');
    }
    else
    {
        $('.title_slider').css('height','480px');

    }


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