2011-07-26 12 views
9

おそらく愚かな質問ですが、私は正直なところここで何がうまくいかないかについて私の頭を包むことはできません。アンカーリンクが間違った位置に着く

http://harrisonfjord.com/thinkinc/

私は現時点で構築していますサイト。 http://harrisonfjord.com/thinkinc/index.php#sponsorsにアンカーリンクを作成したいと思います。私は、次のコードでは、直前に発生するアンカーを設定しました:

<a name="sponsors"></a> 
    <div class="sponsors"> 
     <div class="sponsors-left"> 
      <h2>Sponsors</h2> 
       <p>Support the lovely folks who support us! Visit their websites, join their mailing lists and peruse their wares. They are all highly-deserving of your custom, and we're thrilled to have each and everyone one of them on-board!</p> 
      </div> 

しかし、あなたはそれはdivの下に約半分の土地のアンカーリンクをクリックしたとき。私はアンカーリンクが読み込まれた後の画像の読み込みに問題があると思ったので、手動ですべてのタグの幅/高さを入れました。私はまた、タイトルバーのcufonテキストの置換についても同じことをしました。

それのどれも役に立たなかったので、今私はあなたに向かっています。何らかの理由でアンカーはFirefoxでも動作していません。私がここで間違っていたことに関する考えは?

乾杯!

答えて

11

問題は、使用しているコンテンツのないアンカーに起因すると思います。

はまた、name=がNAME属性がそのように保証されていないのに対し、ID属性が一意であるように感覚の種類を行う(Aを含む)特定の要素におけるフラグメント識別子としてid=deprecated in favorとなっていると思われます。

私は、次のような実際のレンダリング可能なエンティティでフラグメント識別子を貼り付けてみたい:

<h2 id="sponsors">Sponsors</h2> 

、それはあなたを取得する場所参照してください。ちなみに、それは良い会議のように見えます、私はあなたがコンプの入場を得ることを願っています。

+0

Aha!それを持って、魅力を働いた、おかげで仲間。ちなみに - 私は会議主催者、ウェブデベロッパの一人です!だから私は会議でだけでなく、スピーカーでウィスキーを飲む:) – Jascination

+0

クロム13で働いていることを確認して、お楽しみください。 – msw

1

私はあなたのページが準拠しようとしているが、それはエラーに満ちている標準のか分からない:それらの

http://validator.w3.org/check?uri=http%3A%2F%2Fharrisonfjord.com%2Fthinkinc%2F&charset=%28detect+automatically%29&doctype=Inline&group=0

いくつかのように厳しい、例えば:

  • 解析モードを判別できません!
  • DOCTYPEは見つかりませんでした。ルート要素は不明です。検証を中止します。

バリデータがあきらめる。サイトはすべてでレンダリングするgnu.org

http://validator.w3.org/check?uri=www.gnu.org&charset=%28detect+automatically%29&doctype=Inline&group=0

のようなページと対比あなたは喜んでなければなりません。

+0

良い点を見て、私は検証が影響を受けるとは思いませんでしたこのようなことはそうした後にそれをするつもりだった。私は今それを取得し、それがまだ壊れている場合は、歓声を報告する! – Jascination

+0

[OK]をクリックして修正し、HTML 4.0移行として検証しました。しかし、アンカーはまだ動作していません!何かご意見は? – Jascination

2

<a href="#info">TYPES OF INFORMATION WE COLLECT</a>を正しく持っています。 <h3 id="info">TYPES OF INFORMATION WE COLLECT</h3>に正しくリンクしています。

window.scrollTo(0,$('#info').offset().top); 
+1

すてきな回避策:firefoxが最初に適切な場所に着くことができなかったため、つまり、フラグメントとのリンクをたどった後、firefoxのバーに正確なURLを要求すると、ブラウザが適切な場所に着陸したため、 – reallynice

5

私はFirefoxで正確に同じ問題を持って、これでそれを解決した(SASIの答えと同じですが:正常に動作し、私は(jQueryのを使用して)このような溶液で固定していなかった

より一般的な - それは)URL内のアンカーがあるかどうかを検出し、それにスクロール:

$(document).ready(function() { 
    if(window.location.hash.length > 0) { 
     window.scrollTo(0, $(window.location.hash).offset().top); 
    } 
}); 

をそれはそれはよく知られている問題だと思われる、https://bugzilla.mozilla.org/show_bug.cgi?id=60307

+0

これは、目次のjsスニペットを使用していたページで私にとって役に立ちました。同じパターンに従った多くのページのうちの1ページだけで、最初のスクロールはTOCから追加されたテキストを考慮していませんでした。 – covener

関連する問題