Jquery .css第一次调用时不工作

时间:2013-10-08 09:12:29

标签: javascript jquery css

我有一个全屏类,(显然)使任何面板都被添加到全屏。 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);
    }
}

当左侧面板可见时,此代码正确运行,但“左”样式属性全屏div仅在我运行此代码两次时更改。它第一次保持默认左:0;

我检查了jQuery元素是否被正确选中,id为leftPanelPresence为true,如果leftPanelWidth设置正确,则所有情况都是如此。

全屏按钮执行以下操作(coffeescript):

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

默认情况下,leftPanelWidth设置为200。

运行.css jQuery行,但我看不到浏览器中反映的更改。当我在浏览器中检查css时它保持为0。

1 个答案:

答案 0 :(得分:-1)

.css的参数必须是一个字符串,就像你在.css文件中写的那样

你需要在末尾leftPanelWidth添加'px'。

它适用于您的默认值,因为0被解释为空值,并且没有'px'