我需要滚动到ajax加载的项目,但在加载内容后,没有任何反应,页面始终位于顶部。当我单击刷新按钮(页面通过内容缓存动态重新加载)时,页面将滚动到指定的目标。
var startPageLoader = function( pid, sid, url ) {
loader( 'show' );
$.ajax( {
url : cCore.Settings[ 'url' ] + '/page/',
method : 'POST',
data : { _t : 'page', _pid : pid, _sid : sid },
dataType : 'json',
success : function( ret ) {
if( !ret[ 'status' ] ) {
loader( 'hide' );
return;
}
loader( 'hide' );
$( '#mainWrapper > .content article.subpage' ).hide( ).html( ret[ 'data' ] ).fadeIn( );
if( url != null ) {
if( sid.length )
url += '#' + sid;
history.pushState( {}, '', url );
}
aProduct[ 0 ] = pid;
cCore.Plugins[ "modalTooltip" ].rebuild( );
prepareGallery( );
scrollToSection( sid );
}
} );
};
var scrollToSection = function( sid ) {
if( !sid.length )
return;
aProduct[ 1 ] = sid; // sid is an name of target
var offset = $( "#" + sid ).offset( ).top;
$( 'html, body' ).animate( {
scrollTop: offset
}, 1000 );
};
我认为这可能与文档高度有关,但我不确定。
感谢。
答案 0 :(得分:0)
您应该能够使用锚点来实现这一点,也可以使用一些javascript。
这是一个描述锚点的链接: http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479511
以及这里介绍如何使用javascript跳转到锚点: anchor jumping by using javascript