各リストに独自の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();
});
});