私はこの機能を持っていますが、それが最高かどうかはわかりません。それは実際に働いています。ネット上で「コピー&ペースト」の解決策が見つからなかったので質問しているので、これを書きました。他のCSSソリューションを提案する必要はありません.私は<a href><img>text</a>
構造に行き詰まっており、.cssを書くことができません.
javascript (クライアントに独自のアイコン セットを作成させる簡単な方法 [.png でスタック]):
$(".list-habiliy").on({
mouseenter: function(){
$('img.icone', this).attr("src",$('img.icone', this).attr("src").replace('.png', '-o.png'));
},
mouseleave: function(){
$('img.icone', this).attr("src",$('img.icone', this).attr("src").replace('-o.png', '.png'));
}
},"a");
html (のリストは<a>
最大 30 個の要素になる可能性があります) :
<div class="list-habiliy">
<a href="some-link1.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name1.png" alt="" width="24" height="24" />Some text1</a>
<a href="some-link2.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name2.png" alt="" width="24" height="24" />Some tex2t</a>
<a href="some-link3.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name3.png" alt="" width="24" height="24" />Some text3</a>
<a href="some-link4.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name4.png" alt="" width="24" height="24" />Some text4</a>
</div>
この関数の目的は、画像ソースから「-o」テキストを追加/削除することにより、アイコン<img>
を 内から置き換えることです。パフォーマンス上の理由から、.each()、hover() を使用する必要がありますか?<a>
jsFiddle :
これが最善の方法ですか?
アドバイスありがとうございます。
[最後に]:
ユーザー @ Xotic750 による説明 [受け入れられた回答] (これを jquery でラップする代わりに、event 属性を使用し、javascript を使用して要素に直接アクセスします。また、それ以上の jquery 検索は実行しません..)
これはどういうわけか私ができる唯一の最適化でした。
ユーザー@codelio [2つの回答を受け入れることはできません]のおかげで、コードの記述が短縮されました:
$(".list-habiliy a").on({
mouseenter: function (e) {
var elm=e.delegateTarget.firstChild;
elm.src=elm.src.replace('.png','-o.png');
},
mouseleave: function (e) {
var elm=e.delegateTarget.firstChild;
elm.src=elm.src.replace('-o.png','.png');
}
});