2010-12-19 9 views
0

jQueryにはtoggleSrc :-pのようなものがありますか?jQueryにtoggleSrcメソッドがありますか?

div.isのslideTogglingにある画像のsrcを変更したいのですが、画像のsrcをチェックして別のsrcに変更するための条件文を書き込まない可能性があります。 (私は怠け者ではないよ!!!)

+0

最も簡単な方法は、ブラウザコンソールを開いて '$( 'selector')を実行することです。methodName;' もしあれば関数を返し、そうでなければ未定義を返します。 – Kayla

答えて

2

あり、このための組み込みの方法はありませんが、例えば、それのためのプラグインを作ることができる:

$.fn.toggleSrc = function(onSuffix, offSuffix) { 
    return this.attr("src", function(i, src) { 
    return src.indexOf(onSuffix) != -1 ? src.replace(onSuffix, offSuffix) 
             : src.replace(offSuffix, onSuffix); 
    }); 
}; 

次にあなたが呼びたいですそれこのような:

$("img").toggleSrc("_on", "_off"); 

...またはより安全な大:

$("img").toggleSrc("_on.jpg", "_off.jpg"); 

You can test it out here。 (通常通り)他にもこれを行う方法がありますが、これはこれを行う方法の一例であり、いくつかのコードの繰り返しを保存します。

+0

dummyimage.com - それは便利です:)私は同じ考えをしていましたが、代替画像URLをデータ属性に入れました。 – sje397

+0

ありがとうございましたdummyimage.com – dheerosaur

+0

@ sje397 - これもうまくいきます。これには少なくとも12ダースの方法があります。それはあなたが取り組んでいるサイトに最も適しているかどうかによって決まります(例:サフィックスですか?クラスをバックグラウンドイメージと組み合わせると、 '.toggleClass(" onClass offClass ")'はさらに簡単になります:) –

関連する問題