0

我在表格上放了一个显示和隐藏 div 的图像

<a href="#" onclick="javascript:hide_menu()" id="hidden"><img bla bla>

这是我在 javascript 中的函数

function hide_menu(){

    if(document.getElementById('responder').style.display == "none"){

        document.getElementById('responder').style.display = "block";
        document.getElementById('button').style.display = "block"
        $('html, body').animate({scrollTop:$('#responder').position().top}, 'slow');
        document.getElementById('cleditor').focus();
        document.getElementById('cleditor').select();

    }else{
        document.getElementById('responder').style.display = "none"
        document.getElementById('button').style.display = "none"
        $('html, body').animate({scrollTop:$('#da-content-wrap').position().top}, 'slow');
    }
}

工作正常,问题是我显示 div 时发生的错误

看这张照片

![在此处输入图像描述][1]

另一个问题是没有把重点放在这个领域

http://i.stack.imgur.com/rhcQe.jpg

4

1 回答 1

0

再次显示后尝试调用 document.getElementById('cleditor').refresh() 。

也许是这样的:

function hide_menu(){

    if(document.getElementById('responder').style.display == "none"){

        document.getElementById('responder').style.display = "block";
        document.getElementById('button').style.display = "block"

        $('html, body').animate({scrollTop:$('#responder').position().top}, 'slow', function() {
           document.getElementById('cleditor').refresh();
           document.getElementById('cleditor').focus();
           document.getElementById('cleditor').select();
        });

    }else{
        document.getElementById('responder').style.display = "none"
        document.getElementById('button').style.display = "none"
        $('html, body').animate({scrollTop:$('#da-content-wrap').position().top}, 'slow');
    }
}

.refresh() - 强制编辑器调整其工具栏、文本区域和 iframe 的大小。此方法应在初始化隐藏编辑器并使其可见之后,或在更改 $main div 元素的宽度、高度或父级之后调用。

于 2013-09-10T12:20:16.403 回答