![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
javascript(JQuary)について質問させてください。
現在制作中のホームページに「ドロップダウンメニュー」を付けたいと思い、以下サイトのドロップダウンメニューをつけることにしました。
http://www.leigeber.com/2008/05/vertical-flyout- …
導入もスムーズにできて表示も無事にできたのですが、インターネットエクスプローラーで閲覧するとフォントにアンチエイリアスがかかっていませんでした。
原因を調査してみるとjavascriptでの透明度の設定によるものであることがわかりました。
http://www.bpsinc.jp/blog/archives/306
このサイトを見ながらフィルタを削除する方法を自分なりに頑張ってみたのですが、正直なところjavascriptがよくわからないので解決できません。
どなたかjavascriptの知識がある方、以下にソースコードへのリンクを貼っておきますので解決のお力添えをお願いします。
ソースコード
http://sandbox.leigeber.com/dropdown/dropdown.js
余計かもしれませんが、c.style.filter~の行をコメントアウトしたらアンチエイリアスは効いたのですが、透明表示が無くなってしまいました。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
#4です。
>コードの書き方がわからずに苦悩しておりました。
参考サイトにはnodeのfilter属性削除のコードの例がでているので、そのまま使えばよいのでは?
実際に検証していないのでわかりませんが、そのままを信用するとすれば、
if (c.style.removeAttribute) c.style.removeAttribute(’filter’);
(IEの削除だけで良さそうなのでその部分のみ)
No.3
- 回答日時:
No1様と同意見なんですが、あれこれ思案をめぐらしてみると、参考に掲げているサイトのように、フェード中はfilterを効かして、終了時にはアンチエイリアスを生かしたいということなのでしょうか?
質問文を読む限りは、No1様と同じ感想しかうかばない…
スクリプトの中身もちゃんと見ていないので、かなりいい加減ですが、一番最後のところで、フェードが終わったときに clearInterval をしているはずなので、その後でcのfilter属性を削除してあげればよいのでは?
(かなり直感的なサジェスチョンのみですが…)
でも、参考サイトの
>しかしIEではなぜかこれが未定義です。代わりにremoveAttributeが使えます。
ってのも、element.removeAttributeは他のブラウザでも使えるので
http://javascriptist.net/ref/element.removeAttri …
element.style.Attributeも他のブラウザでもいけちゃわないのかなぁ。
(これも未検証です。 CSSはremovePropertyなのかしらん。そもそも、IE以外のブラウザはfilterの設定をうけつけるんだっけ?無視するだけではなかったかと…
どっちにしろ、他のブラウザでは問題がないのでしょうから、削除するのはIEだけでいいってことになりますね。)
この回答への補足
私の質問の仕方が悪くて申し訳ありませんでした。
fujillinさんの直感どおり、"cのfilter属性を削除"したいのですが、コードの書き方がわからずに苦悩しておりました。
もしよろしければフィルター削除についてご教授願えませんでしょうか?
No.1
- 回答日時:
難解な質問内容です。
「フィルタを削除する方法を自分なりに頑張ってみた」
<c.style.filter~の行をコメントアウトしたらアンチエイリアスは効いたのですが、透明表示が無くなってしまいました。>
で実現できてます。
<原因を調査してみるとjavascriptでの透明度の設定によるものである>
原因もわかっているようで、
透明表示にする =>アンチエイリアスがきかなくなる。
透明表示にしない =>アンチエイリアスがきいた状態。
このどちらかを選ぶしかないのでは....
※アンチエイリアスってフォントグループで設定してるんですか...
それとも別のfilter指定で作ってるんですか。
filterのバッティングですか、それならCSS3なら、
opacityプロパティが別にあるので、filterのalphaはいらないので、
バッティングしないかも(最近はIE8、Firefox3.6が普及しだしましたね)
filter指定でアンチエイリアスってIEしか出来ないですよね。
この回答への補足
私の質問の仕方が悪くて混乱を招いてしまい申し訳ありませんでした。
質問に貼ったリンク先にて「フィルターを削除してやればIEでも効果を保ったままアンチエイリアスが効かせられる」という一文を発見したので、頑張ってみたのですが、その「javascriptのフィルターの削除のコードの書き方」がわからなかったので、それをご教授願いたいという趣旨の質問でした。
紛らわしい質問で申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- JavaScript Javascriptで出来ること 1 2022/05/16 20:19
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで ブラウザの閉じる...
-
slideToggleの動きがおかしい
-
JSPの処理の途中で、JavaScript...
-
ローカルのtest.txtを1行ずつ...
-
ラベルの色がかわってくれない
-
confirm()をはい/いいえ に切...
-
evtとは
-
クラス デフォルトプロパティの...
-
javascript で外部サイトにデー...
-
プルダウンリストを作りMySQLか...
-
Javascript でログインできない...
-
Ajaxに関して。
-
gas 全角数字を半角数字に変換
-
SQL構文エラー
-
jqGridの入力内容をサーバに保...
-
jQuery ui Datepicker 明日以降...
-
ブラウザ上でファイルの修正を行う
-
「終了していない文字列型の定...
-
初心者です。gulpでコンパイル...
-
ディレクトリにあるファイルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptで ブラウザの閉じる...
-
ASP(VBS) ←→ JavaScript の変数...
-
ブラウザ自体の事じゃなくてJav...
-
javascriptで「オブジェクトを...
-
あるurlが存在する(?)かどう...
-
slideToggleの動きがおかしい
-
JavaScriptでIEのウィンドウを...
-
JavaScriptのブックマークレッ...
-
VBS作動中のブラウザのmsgboxに...
-
ウインドウがアクティブか調べ...
-
IE8に更新したら・・・
-
イントラネット内でJavascript...
-
JavaScriptを使えない環境につ...
-
【JavaScript】いまどき未対応...
-
htmlでログインのformの名前は...
-
タイトルバーをダブルクリック...
-
javascript(JQuary)について質...
-
特定ブラウザだけjavascriptを...
-
JSPの処理の途中で、JavaScript...
-
Vba SelStart、SelLen教えてく...
おすすめ情報