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 に答える