0

私はこのコードを持っています...

$(".loadMsg").load('modalAnsmessages.php?id=<?php echo $row['id']; ?>&t=r',function(){ 
    $('#preloader').fadeOut();
    $(".modal_dialog .content").css({ 'background-color': '#eeeeee' }); 
    setTimeout("$.fancybox.resize();",500);     
});

これは正常に動作します。後でこのコードを実行します...

$(".p_close").click( function(){
    $(".loadMsg").html('');
    $(".loadMsgOpen").show();
    $(".modal_dialog .content").css({ 'background-color': '#ffffff' });
    setTimeout("$.fancybox.resize();",500);  
});

...一見すると、そのコードは正常に動作するように見えます。ただし、期待どおりに機能しているとは思いません$(".loadMsg").html('');。コードの最初のブロックを実行するたびに、以前の.loadMSGすべてのインスタンスを最終的に通過して停止するまで、以前の各コンテンツが一時的に表示されます。正しい位置で止まる場合とそうでない場合があります。

私が実現したいのは、$(".p_close").clickが実行されたときに、 のすべてのメモリ$(".loadMsg")が消えてほしいということです。私$(".loadMsg").html('');はそれをするだろうと思ったが、どうやら私は間違っている。

4

1 に答える 1

1

代わりに空の関数を使用してみてください。

このメソッドは、子 (および他の子孫) 要素だけでなく、一致した要素のセット内のテキストも削除します。

$(".p_close").click( function(){
    $(".loadMsg").empty();
    $(".loadMsgOpen").show();
    $(".modal_dialog .content").css({ 'background-color': '#ffffff' });
    setTimeout("$.fancybox.resize();",500);  
});  
于 2013-03-11T17:56:23.703 に答える