0

これは #edit を非表示にする私の方法です: 本体に読み込み中の画像があり、デバイスの準備が整うと、$edit が非表示になり、読み込み中の画像が表示されます。getDetail、hidden #load および show #edit でアクションを終了するとき。

ただし、問題は、ページを開くと、読み込みと編集の両方が表示され、getDetail 関数の後で正常に動作することです。

コードをどのように変更すればよいですか?

<script type="text/javascript">


    document.addEventListener("deviceready", onDeviceReady, false);

    function onDeviceReady() {
        $('#edit').hide();
        getDetail();
    }

</script>

js

function getDetail() {

        $('#load').hide();
        $('#edit').show();  


}

html部分

    <div id='load'>
    <img src="loading.gif" 
    style="margin-left:auto; margin-right:auto; ">
    </div><!-- /load -->


    <div id='edit'></div>

*追加の質問 *return false; getDetail() の最後の行で必要ですか? 私のすべてのJavaScriptはjsファイルに入れられているためです。getDetail() は最初の関数です。この関数を実行した後、他の関数が機能しないことがわかりました。何かを警告するための単純なクリック機能であっても、これらの関数は、スクリプトをインラインスタイルで本文に配置した場合にのみ機能します。

ps。いくつかのコピー アンド ペースト エラーを修正しました

4

2 に答える 2

1

修正するだけ

<div id='edit'></div>

<div id='edit' style="display:none;"></div>

また、次の行を削除します。

$('#edit').hide();

非表示にした直後に表示されるため、効果はありません。

于 2013-03-18T20:30:12.513 に答える
1

構文エラーがあります

getDetail() メソッド内に追加の閉じ括弧があります。構文エラーは、コードのこの部分に影響を与えるだけでなく、スクリプト全体を破壊します。

次に、最初に#editCSS を使用して要素を非表示にする必要があります

#edit {display: none;}

これにより、この要素を非表示にするステートメントが役に立たなくなります。パーツを外すだけ$('#edit').hide()

そして: <script>Javascript コードの終了前にタグを閉じないでください。

于 2013-03-18T20:30:36.460 に答える