2011-09-15 4 views
0

私はメニューを持っており、アイテムがクリックされたときにアイコンを別の色に変更したいと思います。私はクリックされた画像のsrcを変更することでこれを動作させました! srcイメージ/ silver/icon.pngをimages/blue/icon.pngに変更します。ajaxメニューのアイコンを変更しますか?

アイテムをクリックすると(青色のアイコン付き)、青色に変わりますが、クリックするともう1つのアイテムは最初のアイテムがまだ青いので、少しクリックするとすべてのアイテムが青色になります。

私が必要とするヘルプは、すべての画像ソースを取得する方法ですが、クリックされた画像ソースを取得して銀色に変更する方法はありませんか?もしかすると別の解決策があるのでしょうか?ありがとう!私はそれをテストしたが、現在はすべてのアイコンは、彼らは全く変化していけない、銀滞在karim79

$ (function() { 
$("#menu > li > a").click(function() { 

//gets the image source 
var menyitem = $(this).children("img").attr("src"); 


// searce and replace "silver" with "blue" 
var changedSrc=menyitem.replace("silver", "blue"); 


// changes the attribute SRC with the new one 
$(this).children("img").attr("src", changedSrc); 


}); 
}); 

答えて

0
$(function() { 
    $("#menu > li > a").click(function() { 

     // reset all images 
     $("#menu > li > a > img").attr("src", function(i, val) { 
      return val.replace("blue", "silver"); 
     }); 

     //gets the image source 
     var menyitem = $(this).children("img").attr("src"); 


     // searce and replace "silver" with "blue" 
     var changedSrc = menyitem.replace("silver", "blue"); 


     // changes the attribute SRC with the new one 
     $(this).children("img").attr("src", changedSrc); 


    }); 
}); 
+0

ありがとう:

私はこのコードを使用します。 –

+0

私はそれがクリックした画像ソースであっても、すべての画像ソースを置き換えると思います。そして、私がクリックしたもの以外はすべて置き換える必要がありますか? –

関連する問題