- ベストアンサー
javascript(JQuary)について質問
- 制作中のホームページにドロップダウンメニューを付けたいが、インターネットエクスプローラーでフォントのアンチエイリアスがかからない問題に遭遇
- 問題の原因はjavascriptでの透明度の設定にあることが判明
- フィルタを削除する方法を調査しているが、javascriptの知識が不足しているため解決できない
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#4です。 >コードの書き方がわからずに苦悩しておりました。 参考サイトにはnodeのfilter属性削除のコードの例がでているので、そのまま使えばよいのでは? 実際に検証していないのでわかりませんが、そのままを信用するとすれば、 if (c.style.removeAttribute) c.style.removeAttribute(’filter’); (IEの削除だけで良さそうなのでその部分のみ)
その他の回答 (3)
- fujillin
- ベストアンサー率61% (1594/2576)
No1様と同意見なんですが、あれこれ思案をめぐらしてみると、参考に掲げているサイトのように、フェード中はfilterを効かして、終了時にはアンチエイリアスを生かしたいということなのでしょうか? 質問文を読む限りは、No1様と同じ感想しかうかばない… スクリプトの中身もちゃんと見ていないので、かなりいい加減ですが、一番最後のところで、フェードが終わったときに clearInterval をしているはずなので、その後でcのfilter属性を削除してあげればよいのでは? (かなり直感的なサジェスチョンのみですが…) でも、参考サイトの >しかしIEではなぜかこれが未定義です。代わりにremoveAttributeが使えます。 ってのも、element.removeAttributeは他のブラウザでも使えるので http://javascriptist.net/ref/element.removeAttribute.html element.style.Attributeも他のブラウザでもいけちゃわないのかなぁ。 (これも未検証です。 CSSはremovePropertyなのかしらん。そもそも、IE以外のブラウザはfilterの設定をうけつけるんだっけ?無視するだけではなかったかと… どっちにしろ、他のブラウザでは問題がないのでしょうから、削除するのはIEだけでいいってことになりますね。)
補足
私の質問の仕方が悪くて申し訳ありませんでした。 fujillinさんの直感どおり、"cのfilter属性を削除"したいのですが、コードの書き方がわからずに苦悩しておりました。 もしよろしければフィルター削除についてご教授願えませんでしょうか?
- yyr446
- ベストアンサー率65% (870/1330)
ところで、何故 「avascript(JQuary)についての質問」 なんですか???
補足
申し訳ありません。 当該htmlにjquaryを読み込むコードが書いてあったので勘違いしてしまいました。
- yyr446
- ベストアンサー率65% (870/1330)
難解な質問内容です。 「フィルタを削除する方法を自分なりに頑張ってみた」 <c.style.filter~の行をコメントアウトしたらアンチエイリアスは効いたのですが、透明表示が無くなってしまいました。> で実現できてます。 <原因を調査してみるとjavascriptでの透明度の設定によるものである> 原因もわかっているようで、 透明表示にする =>アンチエイリアスがきかなくなる。 透明表示にしない =>アンチエイリアスがきいた状態。 このどちらかを選ぶしかないのでは.... ※アンチエイリアスってフォントグループで設定してるんですか... それとも別のfilter指定で作ってるんですか。 filterのバッティングですか、それならCSS3なら、 opacityプロパティが別にあるので、filterのalphaはいらないので、 バッティングしないかも(最近はIE8、Firefox3.6が普及しだしましたね) filter指定でアンチエイリアスってIEしか出来ないですよね。
補足
私の質問の仕方が悪くて混乱を招いてしまい申し訳ありませんでした。 質問に貼ったリンク先にて「フィルターを削除してやればIEでも効果を保ったままアンチエイリアスが効かせられる」という一文を発見したので、頑張ってみたのですが、その「javascriptのフィルターの削除のコードの書き方」がわからなかったので、それをご教授願いたいという趣旨の質問でした。 紛らわしい質問で申し訳ありませんでした。
お礼
ありがとうございました。 おかげで意図したとおりの表示にすることができました。 本当にありがとうございます。