У меня есть простая страница блога — список сообщений, каждое из которых состоит из заголовка и содержания. Когда страница загружается, я хочу, чтобы все содержимое сообщений было скрыто до тех пор, пока не будут нажаты их заголовки. Следующий код выполняет это, но с нежелательным побочным эффектом — функция hide() при загрузке страницы, которая скрывает содержимое каждой записи, также скрывает фон содержащего (id="content") div:
Соответствующие сценарии JavaScript:
$(document).ready(function() {
$(".blog_post p").hide();
//BLOG CONTENT ANIMATION
$('.blog_post').click(function() {
$(this).find('p').slideToggle(130);
});
});
Обзор страницы блога:
<section class="grid_7">
<div id="content">
<div class="blog_post">
<div class="blog_head">
<h2>Title</h2>
</div>
<p>Contents</p>
</div>
</div>
</section>
Соответствующий CSS:
section {
border: 1px solid white;
}
#content {
margin: 20px;
background-image:url('../images/content_background.jpg');
}
Когда страница загружается, список заголовков отображается без фона родительского блока #content. Однако, когда я нажимаю на заголовок сообщения, фон div #content отображается за всеми сообщениями до этого включительно.
Есть идеи, что происходит?
overflow: hidden
и float. 12.06.2011float: left
к.blog_post h2
, избавившись от этого, все сразу исправилось. 12.06.2011