人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jQueryを利用したWebサイトを作成しました。 http://lowrence.littlemarchen.jp/
様々なブラウザでテストした結果、IEもしくはIEベースのブラウザでは以下のエラーが出ます。
>>
メッセージ: 引数が無効です。
ライン: 113
文字: 478
コード: 0
URI: http://lowrence.littlemarchen.jp/scripts/jquery.js
<<
Firefox/Chrome/Safari/Operaでは全く問題ありませんでした。
色々いじってみた結果、自分で書いた"index.js"に問題がありそうなのですが、イマイチ原因が特定できません。
原因を特定して解決してくださった方には、別にポイントを支払おうと思います。
以下のアプロダにサイト全体をzipで固めてアップしました。
よろしければお使いください。
http://www1.axfc.net/uploader/Sc/so/83704
Pass:hatena

●質問者: れんす
●カテゴリ:ウェブ制作
✍キーワード:chrome firefox Hatena IE INDEX
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●50ポイント ベストアンサー

ちょっと見てみましたがどうやら jquery.center.js のバグのようですね。

var paddingTop = parseInt($self.css("padding-top"));
var paddingBottom = parseInt($self.css("padding-bottom"));

↑これを、↓このように修正してやればとりあえず動くようになると思います。

var paddingTop = parseInt($self.css("padding-top")) || 0;
var paddingBottom = parseInt($self.css("padding-bottom")) || 0;

IEの場合、$self.css("padding-bottom") で 'medium' という文字列が帰ってきてしまうため、parseInt に失敗して paddingTop と paddingBottom に NaN が入ってしまいます。その結果、最終的に marginTop に NaN を代入しようとして不正なスタイル値の代入としてエラーが発生してるようです。

上記の修正は parseInt に失敗したときに NaN ではなく 0 が入るようにしています。

◎質問者からの返答

回答ありがとうございます。

jquery.center.js を書き換えてテストしてみたのですが、相変わらずIEではエラーが出てしまいページが表示できませんでした。

Firefox等では依然として問題なく表示できているのですが…

何が原因なんでしょう…orz


2 ● Cherenkov
●50ポイント

borderのほうですね。

var borderTop = parseInt($self.css("border-top-width")) || 0;
var borderBottom = parseInt($self.css("border-bottom-width")) || 0;
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ