Jquery .css не работает в первый раз, когда он называется

0

У меня есть полноэкранный класс, который (очевидно) делает любую панель добавленной в полный экран. Scss следующий:

.fullscreen-div {
  top: $navbar_height;
  right: 0;
  bottom: 0;
  position: fixed;
  z-index: 5;
  padding: 0px 10px;
  background: white;
}

Всякий раз, когда открывается какая-то другая панель, я хочу, чтобы весь экран был немного меньше, поэтому другая панель тоже может поместиться. Я пытаюсь сделать это со следующим javascript:

function setWindowDimensions(){
    ...
    //Fullscreen width
    var fullscreen = $('.fullscreen-div');
    if(leftPanelPresence){
        fullscreen.css("left", leftPanelWidth);
    }else{
        fullscreen.css("left", 0);
    }
}

Этот код корректно запускается, когда левая панель видна, но атрибут "left" style fullscreen div изменяется только тогда, когда я запускаю этот код дважды. В первый раз он остается только по умолчанию: 0; ,

Я проверил, правильно ли был выбран элемент jQuery, id leftPanelPresence был истинным, и если leftPanelWidth был установлен правильно, все это похоже на это.

Полноэкранная кнопка делает следующее (coffeescript):

$(document).on 'click', '.evidence-header h4 i.icon-resize-full', ->
    evidenceView.addClass('fullscreen-div')
    setWindowDimensions()

По умолчанию значение leftPanelWidth равно 200.

Линия.css jQuery запускается, но я просто не вижу изменений, отраженных в моем браузере. Когда я проверяю css в браузере, он остается 0.

  • 1
    Каково значение leftPanelWidth ?
  • 0
    Пожалуйста, покажите нам больше вашего кода, например, как вы получаете значения для переменных и как вы открываете панель
Показать ещё 3 комментария
Теги:

1 ответ

-1

аргумент.css должен быть строкой, так как вы могли бы записать ее в.css файл

вам нужно добавить 'px' в конец leftPanelWidth.

Он работает со значением по умолчанию, потому что 0 интерпретируется как нулевое значение и работает без 'px'

  • 0
    Нет, ты не jQuery очень дружелюбный и делает такие вещи для вас :) (он всегда предполагает px, а не другую единицу.)
  • 0
    Я пробовал это как строку с px и без. Это не имеет значения

Ещё вопросы

Сообщество Overcoder
Наверх
Меню