Я использую бесконечный свиток с кладкой, все работает отлично и правильно строит. У меня есть кнопка, которая, когда я нажимаю, делает div больше и показывает дополнительный контент. кнопка работает и загружается нормально, когда страница изначально загружается, но когда я прокручиваю вниз и бесконечно загружает новые элементы, и если я нажму кнопку, чтобы показать больше, она переместится в верхнюю часть экрана.
Я предполагаю, что мне нужно сделать обратный вызов? Я немного смутился по этому поводу. Как мне подойти к нему?
это код im, использующий:
$(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();
});
});
Попробуйте изменить
$('.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-код, если это изменение не работает?