2014-04-02 4 views
0

벽돌이있는 무한 스크롤을 사용하고 있습니다. 모든 것이 올바르게 작동하고 올바르게 정렬됩니다. 버튼을 클릭하면 해당 div가 커지고 추가 콘텐츠가 표시됩니다. 페이지가 처음로드 될 때 버튼이 작동하고 잘로드되지만 아래로 스크롤하면 무한로드되는 새 항목이 표시되고 더 많이 표시하려면 버튼을 클릭하면 화면 상단으로 이동합니다.무한 스크롤이 페이지 상단으로 이동합니다.

나는 콜백을해야한다고 생각하니? 나는 이것에 다소 혼란 스럽다. 어떻게 접근해야합니까?

$(function(){ 

$(".fancybox").fancybox(); 
    var $container = $('.main_containera'); 
    $container.imagesLoaded(function(){ 
    $container.masonry({ 
    itemSelector: '.item1', 
    columnWidth: 0 
    }); 
}); 


var nextSelector = '.pagination-next a'; 
var origNextUrl = $(nextSelector).attr('href'); 
var offsetRegex = /(offset=)([0-9]+)/; 
var offset = origNextUrl.match(offsetRegex)[2]; 


$container.infinitescroll({ 
    navSelector : '.paginate', // selector for the paged navigation 
    nextSelector : '.pagination-next a', // selector for the NEXT link (to page 2) 
    itemSelector : '.item1',  // selector for all items you'll retrieve 
    loading: { 
     finishedMsg: 'No more pages to load.', 
     img: 'http://i.imgur.com/6RMhx.gif' 
    } 
    }, 
    // trigger Masonry as a callback 
    function(newElements) { 
    // hide new items while they are loading 
    var $newElems = $(newElements).css({ opacity: 0 }); 
    // ensure that images load before adding to masonry layout 
    $newElems.imagesLoaded(function(){ 
     // show elems now they're ready 
     $newElems.animate({ opacity: 1 }); 
     $container.masonry('appended', $newElems, true); 

    }); 
    } 
); 


$('.comment_tr').click(function (e) { 
    $(this).toggleClass('disabled'); 
    $(this).parent().parent().parent().find('form').slideToggle(250, function() { 
     $('.main_containera').masonry(); 
    }); 
    e.preventDefault(); 
}); 

    }); 

답변

0

는 클릭 이벤트가 비어있는 다른 링크 요소까지 전파 할 수있다

$('.comment_tr').click(function (e) { 
    $(this).toggleClass('disabled'); 
    $(this).parent().parent().parent().find('form').slideToggle(250, function() { 
     $('.main_containera').masonry(); 
    }); 
    e.preventDefault(); 
}); 

$('.comment_tr').click(function (e) { 
    $(this).toggleClass('disabled'); 
    $(this).parent().parent().parent().find('form').slideToggle(250, function() { 
     $('.main_containera').masonry(); 
    }); 
    e.preventDefault(); 
    e.stopPropagation(); 
}); 

에 변경 시도 :

사용하여 코드 메신저입니다 href 또는 동일한 페이지로 사용자를 반환하는 페이지로, 보통 상단으로 다시 이동합니다. 또는 e.preventDefault();e.stopPropagation();return false;으로 바꿀 수 있습니다.

HTML을 보지 않고서도 그것이 문제인지 확실히 말하기는 어렵습니다.

변경 사항이 작동하지 않는 경우 HTML을 게시 할 수 있습니까?

+0

didnt work. div의 크기를 조정 한 다음 벽돌을 조정하여 페이지 상단으로 이동시킬 수 있습니까? – user3479684

+0

해당 부분을 주석으로 처리하고 원하지 않는 동작이 중지되는지 확인하십시오. –

+0

그 중 하나도 작동하지 않습니다, 나는 그것이 클릭 같아요. – user3479684