Drew Dillard の素晴らしい DD_belatedPNG 修正 + jQuery を使用して、ホバー時にありふれた画像交換を実現しようとしていますが、PNG を使用し、IE6 で動作するようにしています。
例:<a id="thelink" href="blah.html"><img src="f-u-ie6.png" /></a>
DD のスクリプトは元の画像の可視性を「非表示」に設定するため、効果的にカーソルを合わせることができません。私が気付いたのは、多くの人がこの制限によって妨害されていることです。Drew が、PNG 修正の次のバージョンで回避策を見つけようとしていると述べたほどです。
それまでの間、代わりにイメージの親でホバー イベントを処理することで、これを回避できると考えました。そのため、onmouseover で DD_belatedPNG によって作成された VML オブジェクトを非表示にし、「thelink」に背景画像を設定し、onmouseout で VML オブジェクトを再度表示し、背景画像を何も設定しません。
次のコードは、VML オブジェクトにアクセスできるかどうかを確認するためのものですが、VML では機能しません。他のすべての子を隠しますが、VML は隠しません。何か案は?
$(document).ready(function(){
$("thelink").hover(function() {
$(this).children().attr({
style: "visibility:hidden"
});
}, function() {
$(this).children().attr({
style: "visibility:visible"
});
});
});
あるいは、素晴らしい PNG 画像交換方法を提案できる人はいますか? リンクの背景画像を交換できることは知っています。ただし、A タグ内に何かを含める必要があります。それは私の場合ではありません。また、透明な GIF を A タグに入れ、背景画像を交換して効果を実現することもできますが、私は実際にはそうしたくありません。あなたの洞察に感謝します!