Javascript 无限滚动跳转到页面顶部
我用的是砖石结构的无限卷轴,一切都很好,排列正确。我有一个按钮,当我点击它时,它会使div变大并显示额外的内容。当页面最初加载时,按钮工作正常,但当我向下滚动并无限加载新项目时,如果我单击按钮显示更多内容,按钮将跳转到屏幕顶部 我猜我得回电话了?我对此有点困惑。我应该怎么做 这是我使用的代码:Javascript 无限滚动跳转到页面顶部,javascript,jquery,jquery-masonry,infinite-scroll,Javascript,Jquery,Jquery Masonry,Infinite Scroll,我用的是砖石结构的无限卷轴,一切都很好,排列正确。我有一个按钮,当我点击它时,它会使div变大并显示额外的内容。当页面最初加载时,按钮工作正常,但当我向下滚动并无限加载新项目时,如果我单击按钮显示更多内容,按钮将跳转到屏幕顶部 我猜我得回电话了?我对此有点困惑。我应该怎么做 这是我使用的代码: $(function(){ $(".fancybox").fancybox(); var $container = $('.main_containera'); $container.ima
$(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();
});
到
click事件可能会传播到另一个link元素,该元素的href为空,或者该元素会将用户返回到通常只会将您带回到顶部的同一页面。或者,您可以替换e.preventDefault;和e.stopPropagation;返回值为false
但是,如果没有看到HTML,很难说这就是问题所在
如果更改不起作用,您可以发布HTML吗?不起作用。是否可能是因为调整了div的大小,然后触发了Mashise来调整并将我推到页面顶部?尝试对该部分进行注释,看看它是否停止了不需要的行为。若我添加了所有注释,请单击$container.Mashise“Added”下的代码,$newElems,true;然后我点击我的评论按钮,它扩展了div,砖石结构调整正确,但是div收缩,砖石结构重新更正。。。。所以它不再跳到顶部,但现在正确的div只是伸展和缩回,因为它使用了;
$('.comment_tr').click(function (e) {
$(this).toggleClass('disabled');
$(this).parent().parent().parent().find('form').slideToggle(250, function () {
$('.main_containera').masonry();
});
e.preventDefault();
e.stopPropagation( );
});