0

各リストに独自のdivがあるリストページを作成しました。そのdivのコンテンツは、$。postを介して個別のphpスクリプトからロードされます。

私が抱えている問題はリストを隠そうとしていることです。問題はこの行に関係している可能性があると思います

$('div.close_listing')

私が使用する場合にのみ私はそれを動作させることができます

$('div.listing> div').click(  
function() {
$('div.listing> div').hide(); 
});

(これは、リストdivの任意の場所をクリックすると機能します)

どんな助けでも大歓迎です。

リストのhtmlコードは次のとおりです。

<div id='listing'>
   <div id='loading'></div>
   <a name='13'><h3>Business1</h3></a> <h4 data-id=18-3-3>Name Of Business 1</h4>
    <div>
        <hr>
     *** content forbusiness1 appears here ***
          <div class='close_listing'>CLOSE this listing</div>
    </div>

   <a name='14'><h3>Business2</h3></a> <h4 data-id=19-3-3>Name Of Business 2</h4>
    <div>
        <hr>
     *** content for business2 appears here ***
          <div class='close_listing'>CLOSE this listing</div>
    </div>

</div>

コンテンツを呼び出すコードは次のとおりです。

$(document).ready(function() { 
$('div.listing> div').hide();  
$('div.listing> h4').click(function() {
$('div.listing> div').empty().html('<img src="loading_image.gif" /><br>Retrieving Details.....');
$.post("http://www.example.com/record.php", { id: $(this).attr('data-id') });

$.post('show.php',{ id: $(this).attr('data-id')}, function(data) {
$('div.listing> div').html(data); 

$('div.listing .close').visible();
});

var $nextDiv = $(this).next();
var $visibleSiblings = $nextDiv.siblings('div:visible');

if ($visibleSiblings.length ) {
  $visibleSiblings.slideUp('fast', function() {
    $nextDiv.slideToggle('fast');
  });
} else {
   $nextDiv.slideToggle('fast');
} 
});

// closes the listing down

$('div.close_listing').click(  
function() {
$('div.listing> div').hide(); 
}); 

});
4

3 に答える 3

1

私はあなたがこれをするつもりだったと思います

$('div.close_listing').click(function() {
        $(this).closest('.listing').hide(); 
    }); 
});
于 2012-05-29T16:20:38.507 に答える
0

問題はこの行です:

$('div.listing> div').hide(); 

そのはず

$('div#listing > div').hide();

しかし、私はあなたが多くに隠れていると思います(#listingのすぐ下のすべてのdiv)。次のことを考慮してください。

$(this).parent().hide();
于 2012-05-29T16:22:46.913 に答える
0

私はあなたの質問を理解するのが少し難しいと思います、しかしあなたが望むのがclose_listing親divを閉じることであるなら、私はあなたのhtmlマークアップをそのように編集しました

 <div id='listing'>
   <div id='loading'></div>
   <a name='13'><h3>Business1</h3></a> <h4 data-id=18-3-3>Name Of Business 1</h4>
    <div>
        <hr>
     content forbusiness1 appears here
          <a class='close_listing'  href="#">
            CLOSE this listing
          </a>
    </div>

   <a name='14'><h3>Business2</h3></a> <h4 data-id=19-3-3>Name Of Business 2</h4>
    <div>
        <hr>
      content for business2 appears here

           <a class='close_listing'  href="#">
            CLOSE this listing
          </a>
    </div>

</div>

javascriptは次のようになります

$('a.close_listing')。bind('click'、function(){

    $(this).parent().show().fadeOut(500);
            return false;
    });
于 2012-05-29T16:41:35.933 に答える