0

タブをシミュレートするこのコードがあります。それは完全に機能していますが、「abas」divのリンクをクリックしてページをロードするたびに、ページが一番上に戻ります。私のwhileの解決策(醜い)は、ロード後に関数を呼び出して、ページをアンカー「abas」にスクロールすることでした。ここで何が起こっているのですか?

コードは次のとおりです。

<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  
});

ありがとうございました

4

1 に答える 1

1

クリック イベント関数の最後で行う必要があるのは、false を返すことだけだと思います。ハイパーリンクまたはボタンのクリック イベントをサブスクライブし、イベント内のすべての実行を処理する方法と非常によく似ています。したがって、コードが完了したら、ブラウザーが引き継いでクリック自体を実行しないようにします。

于 2013-02-22T13:18:12.403 に答える