2016-10-02 4 views
1

Ajaxを使用して読み込まれたデータを表示および非表示にしようとしています。ajaxが読み込んだデータにcontnetを隠して表示する方法は?

$.ajax({ 
    type: "POST", 
    url: "/swip.php", 
    data: {pid:sldnxtpst,sldnu:sldnu}, 
    success: function(result) { 
     $('.swip').prepend(result); 
    } 
}); 

このデータは、ユーザーが下にスクロールしたときに読み込まれます。

<div>Loaded data on document ready</div> 
<div>Loaded data on ajax </div> 
<div>Loaded data on ajax </div> 
<div>Loaded data on ajax </div> 

私は非表示とクリックに表示するデータ:クリックで

<div class=".comment-box<?php echo $sldnu; ?>"> display/Hide </div> 
<div class=".comntbxfrm<?php echo $sldnu; ?>">Content </div> 

私は切り替えたい表示/非表示のdiv、comntbxfrm divの上。このスクリプトではうまくいきません。

<script> 
    $(document).ready(function(){ 
    var cmnbxnu = <?php echo $sldnu; ?>; 
     $('.comment-box'+cmnbxnu).each(function() { 
     $(document).on('click','comment-box', function(){ 
      alert(cmnbxnu); 
      $('.comntbxfrm'+cmnbxnu).toggle(); 
     }); 
     }); 
    }); 
</script> 

私は混乱します。 Ajaxがロードしたデータのdivを表示して非表示にするにはどうすればよいですか。

+0

あなたが見るためのローディングGIFのようなものを意味しますか? –

答えて

1

私はあなたがそれを再チェックせずに、この質問を投稿だと思います。あなたの質問をもう一度見てください。あなたが試したことに関するより多くのデータを提供できるかもしれません。

このロジックが問題を解決できるかもしれません。

  • まず、jQueryまたはJavaScriptを使用してdivが表示されているかどうかを確認します。 (参照:jQuery event to trigger action when a div is made visible
  • divが表示されている場合は、クラスswip-activeを変更または追加してください。

    <div class="swip">Loaded data on document ready</div> 
    <div class="swip">Loaded data on ajax </div> 
    <div class="swip-active">Loaded data on ajax </div> 
    <div class="swip">Loaded data on ajax </div> 
    

    SCRIPT:01:

  • は、SCRIPT 01
  • はあなたのコードの構造

swip-activeクラスが1ページに一度だけ使用されていることは、このようにする必要があります確認して使用します

 <script> 
     $(document).ready(function(){ 
      $(document).on('click','.swip-active .comment-box', function(){ 
       $('.swip-active .comntbxfrm').toggle(); 
      }); 
     }); 
    </script> 

私はthi簡単です。 :)素晴らしいコーディングがあります!

+0

これはうまくいった!ありがとうございますRamesh Pardhi :)しかし、唯一の問題はdivが見えるときにクラスを変更できないことです。あなたはそれで私を助けることができますか? –

1
<div class=".comment-box<?php echo $sldnu; ?>"> display/Hide </div> 
<div class=".comntbxfrm<?php echo $sldnu; ?>">Content </div> 

あなたはこのように、クラス属性でクラス名からドットを削除する必要があります。

<div class="comment-box<?php echo $sldnu; ?>"> display/Hide </div> 
<div class="comntbxfrm<?php echo $sldnu; ?>">Content </div> 
+0

あなたはあなたの 'html'を追加できますか? @miniskulljobが何を言っているのか(これは正しい)以外に、あなたがここに投稿している 'html'コードにはクラス参照がありません。 – Franco

関連する問題