2013-02-22 75 views
0

我有这段代码模拟标签页。它工作正常,但每次我加载一个页面点击“abas”div中的链接时,页面会滚动回顶端。我的解决方案(丑陋)是在加载后调用函数以将页面滚动到锚点“abas”。这里发生了什么?用jquery加载内容后避免滚动到顶部

下面是代码:

<ul id="abas"> 
<li><a href="buscapage.php">Busca por práticas</a></li> 
<li><a href="catpage.php" class="off">Categorias</a></li> 
</ul> 

$('#abas a').click(function(event) {   
    var $loader = '<img src="img/interface/loader.gif" class="loader" alt="" />', 
    $pagina = $(this).attr('href'); 
    $('#get').html($loader).load($pagina, function(){ 
    $('html,body').animate({scrollTop: $('#abas').offset().top},'slow'); //solution =(
    }); 
    event.preventDefault(); //prevent does not avoid this to happen 
}); 

谢谢

回答

1

我相信所有你需要在点击事件函数结束时做是返回false。非常类似于您订阅超链接或按钮上的点击事件,并且想要处理事件中的所有执行,因此,在代码完成后,不要让浏览器接管并执行点击。

+0

我试过“返回false”,但它没有办法。 =/ – Paulo 2013-02-22 13:21:42

+0

你的页面有多高?当在#get控件上设置html时,是否缩小到零像素(在实际应用新的html之前),导致页面变得太小而不再跨越多个页面?如果是这种情况,请将该css值设置为该控件的最小值,以保持合理的大小。 – DragonZero 2013-02-22 14:12:52

+0

感谢@Gerbenny的回复。我会尝试解决更新我的CSS问题作为您的建议。 – Paulo 2013-02-25 18:02:39