我想在单击时更改图像src,如果在其他图像或块上单击,则返回旧的src
<div>
<img src="a" />
<img src="b" />
<img src="c" />
</div>
假设我单击带有src =“ a”或src =“ b”的img,当我单击带有src =“ c”的img时,希望将其更改为src =“ d”,将上一张图像的src更改回处于初始阶段的src =“ a”或src =“ b”。
$('img').click(function() {
Imgsrc = $('img').attr("src");
$('img.current').removeClass('current').attr("src", eval("Imgsrc"));
$(this).closest('img').addClass('current');
$('img.current').attr("src", "d");
});
它将src =“ a”的颜色更改为src =“ c”。我知道,因为我先进行初始化,然后再进行保存,然后再进行更改。可能是愚蠢的问题,但仍需要帮助。
我建议您使用$('object')。data()方法将值存储在图像中。
这样,您可以将值存储在对象本身中,并且可以轻松地交换信息。
$('img').on('click',function() {
var tradeoff = 'http://firestarter.firebrandgroup.com/images/flame-logo.gif?b20388';
/** Reset images to original image **/
$('img').each(function() {
var $img = $(this);
/** get the old original src **/
var data = $img.data('oldsrc');
/** only update if there is actually some value there **/
if(data) {
$img.attr('src',data);
}
});
/** current image **/
var $this = $(this);
/** current href **/
var src = $this.attr('src');
/** only store if different from tradeoff value **/
if(src != tradeoff) {
/** store in image the old data **/
$this.data('oldsrc',src);
}
/** show the tradeoff **/
$this.attr('src',tradeoff);
});
img { width:100px;height:60px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img src="https://i.ytimg.com/vi/RTfvXkEXa-k/maxresdefault.jpg"><BR/>
<img src="https://i.ytimg.com/vi/XlUPuj2V6PM/maxresdefault.jpg"><BR/>
<img src="https://i.ytimg.com/vi/Haj9TAFCv5w/maxresdefault.jpg"><BR/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句