给fadeIn fadeOut效果更改图像src

时间:2012-10-25 12:51:18

标签: javascript jquery html

我正在使用响应式网页设计,我想在页面中滑动一些图像。我尝试了一些插件,但插件的问题是它使用了width和height属性,有些还指定了绝对位置。所以我想用js自己改变图像的src并且工作正常,但是我可以给它一些过渡效果吗?

我所做的是:

var i =0;
var total =2;
window.setInterval(function(){
  show_hide();
}, 1000);

function show_hide()
{
        var img=$('.image-holder img, .image-holder2 img');
        //alert(img.length);
        if(i%2==0)
        {

             img[0].src='http://digimind.com/blog/wp-content/uploads/2012/02/number2c.png';
             img[1].src='http://digimind.com/blog/wp-content/uploads/2012/02/number2c.png';

            i=0;
        }
        else
        {

             img[0].src='http://healthystartups.com/storage/600px-MA_Route_1.png?__SQUARESPACE_CACHEVERSION=1319542839834';
             img[1].src='http://healthystartups.com/storage/600px-MA_Route_1.png?__SQUARESPACE_CACHEVERSION=1319542839834';
        }

       i++;




}

我的HTML

<div  class="image-holder" >
<img src="http://healthystartups.com/storage/600px-MA_Route_1.png?__SQUARESPACE_CACHEVERSION=1319542839834"  />


</div>
<div  class="image-holder2" >
<img src="http://healthystartups.com/storage/600px-MA_Route_1.png?__SQUARESPACE_CACHEVERSION=1319542839834"  />
</div>

2 个答案:

答案 0 :(得分:1)

回答标题,在更改src时给出fadeIn / fadeOut很简单,只需让元素fadeOut,更改src并让它再次淡入。 另外,我想指出,使用jQuery,迭代这样的类,破坏了使用它自己的选择器“.each()”的目的

$('.image-holder img, .image-holder2 img').each(function() {
            $(this).fadeOut(200,function() {
                $(this).attr('src', 'http://digimind.com/blog/wp-content/uploads/2012/02/number2c.png');
                $(this).fadeIn(200);
            });
        });

http://jsfiddle.net/tq9nV/1/

答案 1 :(得分:0)

将jQuery与animate()一起使用。您还可以在其中一个图片上运行show(N ms),在另一个图片上运行hide(N ms)。您还可以选择如何使用效果显示/隐藏图像(如淡入淡出和淡出)。

另外,请查看http://api.jquery.com/fadeIn/http://api.jquery.com/fadeOut/