编辑器文本调整大小问题

时间:2014-04-25 11:55:52

标签: javascript html css ace-editor

我正在使用这样的Ace-Editor,

<div id="AceEditor"></div>

enter image description here

蓝色区域是我的编辑,

#AceEditor 
{ 
    position: absolute;
    top: 0;
    right: 300px;
    bottom: 420px;
    left: 0px;
    overflow: auto;
}

使用Javascript,我已将console log区域配置为可最小化,如下所示,

if($("#button").html() == "Minimize")
{
    $('#AceEditor').css("bottom",420);
}
else
{
    $('#AceEditor').css("bottom",0);
}

$("#button").click(function(){
    if($(this).html() == "Minimize"){
        $(this).html("Maximize");
        $('#AceEditor').css("bottom",0);
    }
    else{
        $(this).html("Minimize");
        $('#AceEditor').css("bottom",420);
    }
    $("#ConsoleDisplay, #ConsoleBar").slideToggle();
});

现在的问题是,当我按minimize时,窗口会变得最小化,但文字光标不会移动到420px lise以下,如下图所示,

enter image description here

所以要解决这个问题,

我尝试将CS​​S AceEditor说明更改为

#AceEditor 
{ 
    position: absolute;
    top: 0;
    right: 300px;
    bottom: 0px;
    left: 0px;
    overflow: auto;
}

现在虽然文本已到达页面底部,但当控制台日志最大化时,文本不会自动调整为新的bottom pixel

如何解决这个问题?

根据以下答案,我已经尝试了

if($("#button").html() == "Minimize")
{
  $('#AceEditor').css("bottom",420).resize();
}
else
{
  $('#AceEditor').css("bottom",0).resize();
}

并尝试过,

if($("#button").html() == "Minimize")
{
  $('#AceEditor').css("bottom",420);
  $('#AceEditor').resize();
}
else
{
  $('#AceEditor').css("bottom",0).resize();
  $('#AceEditor').resize();
}

但问题仍然存在。

1 个答案:

答案 0 :(得分:2)

更改编辑器大小后,应调用editor.resize()让编辑器更新其大小。