我試圖創建相同的「動畫」中心如何只加載評論所見有:當帖子達到窗口的使用jQuery
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: 。員額{ 不透明度:1;
width:600px; min-height:100px; background-color:#ffffff;
display:block; padding:0px; margin:30px auto;
border:1px solid#000000; }
.comments{
opacity: 1;
width: 580px;
height: 50px;
display: none;
margin:100px 0 0 0;
padding:10px;
background-color: #aaaaaa;
}
我搜索過這裏的答案,但無法找到一個可能把我在正確的道路上。任何想法或建議?非常感謝,埃裏克
非常感謝傑夫。偉大的建議。 –