• 締切済み

JSがうまく動作しません

スムーズスクロールJSがうまく機能しません。 http://aichi-jimkyo-ichinomiya.org/sample_ok.htm これはコピペですが 文字化けしていますが、一番下のリンクをクリックするとスムーズに上へ戻ります。 スムーズスクロールがきちんと機能しています。 http://aichi-jimkyo-ichinomiya.org/sample_ng.htm 一から作ったこちらは機能しません。 何が間違っているのか理解できないので、 どなたか詳しくお分かりになられる方、教えてください。

みんなの回答

  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

素直にDoctypeとは何かを調べてみてはどうでしょう。 調べた結果、何が分からないかを質問にするべきです。 まったく分かりませんは、反則ですよ。

すると、全ての回答が全文表示されます。
回答No.2

HTMLコードを見比べてみてください。 OK: <p><a id="top"></a>TOP</p> <p><a id="end"></a>END</p> NG: <p><id="#top">TOP <a href="#end">END</a></p> <p><a id="#end"></a>END</p>

Norippy_107
質問者

補足

ありがとうございます。 せっかく回答をくださったのですが、その点は既に修正済みでした。 http://aichi-jimkyo-ichinomiya.org/sample_ok.htm 初めてこれを見る人にはどこが変わったか分からないと思いますが、 こちらが修正されたものです。 もう1つの NG の方は無視してください。 色々いじって分かったのですが、"DOCTYPE 宣言" が必要みたいで、 導入予定のページで "DOCTYPE 宣言" を入れるとレイアウトが激しく崩れてしまい、 大変困ってます。 どうすれば、DOCTYPE宣言とJS(jquery.js)を共存できるようになりますでしょうか・・・。 jquery.js を使うなら、DOCTYPE宣言が必要と解説に載ってますが、 レイアウトが崩れるのを回避する方法が分からないです・・・。

すると、全ての回答が全文表示されます。
  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

明らかにおかしなページですが、丸投げな質問にそのまま回答しても意味がないので、素人でもできそうな方法を書いてみます。 まず、サンプルとまったく同じページをつくってください。 単純にコピペするだけなので簡単ですよね? まったく同じものですよ? フロントページを利用してページを作られているようですが、JavaScriptを使う以上は、ツールに頼らず、手書きでソースを書く作業が必要です。それができないようであれば、JavaScript以前に、もうちょっとパソコンのことを勉強してください。 で、コピペ出来たと仮定して、コピペしたサンプルを利用して変更したい箇所を修正してください。 途中で動かなくなってしまったら、動いていたタイミングから動かなくなってしまった間に行った修正に問題があります。 以上です。

Norippy_107
質問者

補足

色々とタグを最小限にしたところ、 HTML 先頭の<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN">を消すとJSが動かないことが分かりました。 ですが、このDOCTYPE 宣言を仕事で作ってるサイトのページに入れると、デザインが崩れてまともに見れる状態じゃなくなりました。 スクロールは機能するのですが、DOCTYPE を宣言しないと使えないので、 どうすれば、共存(レイアウト維持 & スムーズスクロールJS使用)できるかが知りたいです DOCTYPE というのは何度か見たことがありますが、詳しく調べたのはお恥ずかしいながら今日です。 http://aichi-jimkyo-ichinomiya.org/sample_ok.htm DOCTYPEをどう書けば、レイアウト崩れずにスムーズスクロールが使えるのですか ? すみませんが、このあたりに詳しい方教えてください。

すると、全ての回答が全文表示されます。

関連するQ&A