• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascript(JQuary)について質問させてください。)

javascript(JQuary)について質問

このQ&Aのポイント
  • 制作中のホームページにドロップダウンメニューを付けたいが、インターネットエクスプローラーでフォントのアンチエイリアスがかからない問題に遭遇
  • 問題の原因はjavascriptでの透明度の設定にあることが判明
  • フィルタを削除する方法を調査しているが、javascriptの知識が不足しているため解決できない

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.4

#4です。 >コードの書き方がわからずに苦悩しておりました。 参考サイトにはnodeのfilter属性削除のコードの例がでているので、そのまま使えばよいのでは? 実際に検証していないのでわかりませんが、そのままを信用するとすれば、  if (c.style.removeAttribute) c.style.removeAttribute(’filter’); (IEの削除だけで良さそうなのでその部分のみ)

nori46857
質問者

お礼

ありがとうございました。 おかげで意図したとおりの表示にすることができました。 本当にありがとうございます。

その他の回答 (3)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

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だけでいいってことになりますね。)

nori46857
質問者

補足

私の質問の仕方が悪くて申し訳ありませんでした。 fujillinさんの直感どおり、"cのfilter属性を削除"したいのですが、コードの書き方がわからずに苦悩しておりました。 もしよろしければフィルター削除についてご教授願えませんでしょうか?

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

ところで、何故 「avascript(JQuary)についての質問」 なんですか???

nori46857
質問者

補足

申し訳ありません。 当該htmlにjquaryを読み込むコードが書いてあったので勘違いしてしまいました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

難解な質問内容です。 「フィルタを削除する方法を自分なりに頑張ってみた」 <c.style.filter~の行をコメントアウトしたらアンチエイリアスは効いたのですが、透明表示が無くなってしまいました。> で実現できてます。 <原因を調査してみるとjavascriptでの透明度の設定によるものである> 原因もわかっているようで、 透明表示にする =>アンチエイリアスがきかなくなる。 透明表示にしない =>アンチエイリアスがきいた状態。 このどちらかを選ぶしかないのでは.... ※アンチエイリアスってフォントグループで設定してるんですか... それとも別のfilter指定で作ってるんですか。 filterのバッティングですか、それならCSS3なら、 opacityプロパティが別にあるので、filterのalphaはいらないので、 バッティングしないかも(最近はIE8、Firefox3.6が普及しだしましたね) filter指定でアンチエイリアスってIEしか出来ないですよね。

nori46857
質問者

補足

私の質問の仕方が悪くて混乱を招いてしまい申し訳ありませんでした。 質問に貼ったリンク先にて「フィルターを削除してやればIEでも効果を保ったままアンチエイリアスが効かせられる」という一文を発見したので、頑張ってみたのですが、その「javascriptのフィルターの削除のコードの書き方」がわからなかったので、それをご教授願いたいという趣旨の質問でした。 紛らわしい質問で申し訳ありませんでした。