2013-06-22 2 views
0

페이지 하단 가까이에 새로운 항목을로드하는 기능이 있습니다. 멋지게 작동합니다. 유일한 문제는 새 항목이로드 될 때 스크롤 위치가 맨 위로 이동한다는 것입니다. 이는 매우 혼란스럽고 원하는 것이 아닙니다. 다음 기능은 다음과 같습니다 당신이 볼 수 그래서스크롤링 위치가 나에게 알려주지 않고 계속 올라갑니다.

function loader(url) { 
    $.get(url, function(data) { 
     $newPosts = $(data).filter(function(){ 
      return this.id === 'posts'; 
     }).children(); 
     $newPosts.hide(); 
      $wall.masonry('destroy'); 
      $('#posts').append($newPosts); 
     $newPosts.each(function(){ 
      $(this).fadeIn('slow'); 
     }); 
      $wall.masonry({ 
       itemSelector: '.entry, .entry_photo', 
       isAnimated : false 
      }); 
    }).error(function(url) { 
     alert('error'); 
    }); 
}; 

Jsfiddle

, 그것은 바로 돌아 가기 점프 들쭉날쭉 보인다. 어떻게 방지 할 수 있습니까? 그리고 그것은 왜 일어날까요?

+1

나에게 보인다 appended 방법을 사용합니다. 고칠 수 있습니까? –

+0

그 jsfiddle는 나를 위해 문제를 보여주고 있습니다 ... –

답변

2

은 벽돌에 destroy에 대한 호출이 여기에 문제의 근본임을 나에게 보인다.

는 jsfiddle 링크가 문제가 표시되지 않는 것을

$wall 
    .append($newPosts) 
    .masonry('appended', $newPosts); 
    .masonry('layout'); 
+0

예'$ wall.masonry ('added', $ newPosts);는 트릭을했습니다! 감사! –

+0

@RyanSaxe 여전히 데모가 나와 함께 표시되지 않습니다 .-D –

+0

아무런 문제가 없거나 링크가 작동하지 않는다는 뜻입니까? –

0

스크롤 기능을이 스크립트로 바꾸고 참조하십시오.

DEMO http://jsfiddle.net/yeyene/ajjaz/7/

$(window).scroll(function(){ 
    if ($('#posts').outerHeight() - $('body').scrollTop() - 420 <= 0) { 
     loader(site); 
     $('html, body').animate({ scrollTop: $(this).scrollTop() }, 'fast'); 
     page += 1; 
    }  
}); 
+0

그게 작동하지만 깨끗하지도 않고 부드럽지도 않아요. 내가 원했던 것처럼 ... –

+0

빠른 속도로 움직이는 것을 시도해보십시오. $ ('html, body'). animate ({scrollTop : $ (this) .scrollTop()}, 'fast'); – yeyene

+0

시도해 보았습니다. 0으로 변경해 보았습니다. 여전히 꽤 들쭉날쭉했습니다. –