Никак не удается справиться с задачей. Подскажите, как правильно сделать:
У меня есть блок .rs-seat-more, при нажатии на который у блока .rs-seat-right-block div должен изменяться CSS на: max-height: initial; и еще при нажатии на тот же блок у блока .rs-seat-wrap должен изменяться CSS на: max-height: initial;
Я просто только начал изучать JavaScript, поэтому для меня это проблема.
Ни в коем случае не слушайте тех, кто советует делать это через .css(). Это дурной тон, никогда не нужно менять слили непосредственно через js.
Задавайте нужные стили классу-модификатору, и добавляйте/удаляйте его через .addClass() / .removeClass()
Расул Гитинов: Кстати, поддержу Михаил Чирский, то, что вы пытаетесь сделать, выглядит довольно странно, и вероятно, есть более правильный метод реализации вашей задумки.
Расул Гитинов: Вам же ответил Serj-One, что подобные вещи лучше решать стилями, а в скрипте просто управлять переключением классов, это 100 % лучше и правильнее, чем городить велосипеды с кучей ненужного кода. А если бы сказали, что вы хотите в результате, без ваших max-height и т д, возможно бы предложили и другое решение.
P.S. сколько верстаю, ни разу не видел подобного извращенства с изменением max-height еще и на initial.
Если все правильно сверстать, то простых Css-properties, более чем достаточно
Everal: Мне ваш код не может не угодить, вы учитесь изначально не правильно не я, я поддержал товарища, который дал вам правильный совет, а поступайте как считаете нужным, это ваше право. Осуждать не буду, я сделал замечание, что я считаю, это не правильным, по крайней мере в наше время, и там где можно обойтись Css и минимум Js надо использовать все грамотно, ваша задача элементарна, ну вы пишите 3 строчки ненужного Js когда это может решить Css с помощью 1 модификатора.
// элемент, на котором кликаем
$('.rs-seat-more').on('click',
function(){
$(.rs-seat-right-block div').css('max-height', 'initial'); // элемент, который изменяем
});