そこに見られるのと同じ「アニメーション」を作成しようとしています。
http://letmehaveblog.blogspot.it/?view=classic
投稿のコメントは、投稿がウィンドウの中央に到達したときにのみ読み込まれます。コメントを含むdivのcss表示または不透明度プロパティのみを変更した場合(投稿の高さは変更されません)、コードは正常に機能しますが、slideUp / slideToggleを使用すると、 ajaxを介したphpスクリプト。私はこのjavascriptコードを扱っています:
$(document).ready(function () {
var winWidth, winHeight;
function show_post_content() {
/* Check the location of each desired element */
$('.post').each( function(i){
var top_of_object = $(this).position().top;
var top_of_window = $(window).scrollTop();
var bottom_of_object = $(this).position().top + $(this).outerHeight();
var bottom_of_window = $(window).scrollTop() + $(window).height();
/* If the object is completely visible in the window, fade it in */
//if( bottom_of_window > bottom_of_object ){
if( top_of_object < parseInt(winHeight / 2)) {
//$(this).children('.comments').css('display','block');
//$(this).children('.comments').animate({'opacity':'1'},500);
//$(this).children('.comments').fadeIn(500);
//$(this).children('.comments').animate({'opacity':'1'},500);
$(this).children('.comments').slideToggle('slow');
}
});
}
function hide_post_content() {
$('.post').each( function(i){
$(this).children('.comments').slideUp();
});
}
function init() {
winWidth = $(window).width();
winHeight = $(window).height();
hide_post_content();
show_post_content();
}
init();
$(window).resize(function () {
init();
});
/* Every time the window is scrolled ... */
$(window).scroll( function(){
show_post_content();
});
});
HTMLは次のとおりです。
<div class="post">Post
<div class="comments">Comments</div>
</div>
<div class="post">Post
<div class="comments">Comments</div>
</div>
<div class="post">Post
<div class="comments">Comments</div>
</div>
...
cssの場合:.post {不透明度:1;
幅:600px; 最小-高さ:100px; 背景色:#ffffff;
表示ブロック; パディング:0px; マージン:30px自動;
ボーダー:1pxソリッド#000000; }
.comments{
opacity: 1;
width: 580px;
height: 50px;
display: none;
margin:100px 0 0 0;
padding:10px;
background-color: #aaaaaa;
}
ここで答えを探しましたが、正しい道に進むことができる答えが見つかりません。何かアイデアやアドバイスはありますか?どうもありがとう、エリック