2011-10-19 2 views
4

divのコンテンツにフォーカスするために関数を使用していますが、この関数を使用しましたが、正しくフォーカスしていないコンテンツをオンクリックします。私は3番目のコンテンツに焦点を当てているだけでなく、2番目に焦点を当てて3番目のリンクをクリックして...それはバグ..どのようなアイデアですか?scrolltop関数が要素に正しくフォーカスしていない

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

$(function(){ 
     $('#navi a').click(function(e){ 
      e.preventDefault(); 
      move($(this).attr("href")); 
     }) 

     function move(id){ 
      $('#content').animate({scrollTop:$(id).offset().top},'slow'); 
     } 
    }) 

私は警告し、オフセット()トップを取得しながら、それは私が「」のhrefからidを取っています。..たびに を間違った値を表示します。おかげ

+5

関連するHTMLを投稿してください。できる場合は、あなたが持っている問題を示す[jsfiddle](http://jsfiddle.net)を作成してください。 – gilly3

答えて

0

あなたのhrefは「#」が含まれていない場合を除き、試してみてください。

$('#content').animate({scrollTop:$("#"+ id).offset().top},'slow'); 
1

[OK]を...ので、あなたは#content子までスクロールしたいのですが、あなたは要素を使用しているがこれを相殺しますウィンドウに基づいています。試してみてください:

$('#content').animate({scrollTop:$(id).position().top},'slow'); 

また、ウィンドウをスクロールしたいですか?

$('html, body').animate({scrollTop:$(id).offset().top},'slow'); 

これらのどれもあなたのために働いていない場合は、som htmlを投稿してください。

+0

申し訳ありませんが、私はプラグインを実装しました。 – 3gwebtrain

+0

どのプラグインですか?何のために? – tbleckert

0

うん、それは高さの問題ではないですか?試してみてください:

$('#content').animate({scrollTop:$(id).offset().top+$(id).height()},'slow');