切换和淡化组中的图像

时间:2013-10-10 11:50:34

标签: jquery toggle fade

我有两组用以下模式命名的图像:

Oranges1.jpg Oranges2.jpg Oranges3.jpg Oranges4.jpg

Apples1.jpg Apples2.jpg Apples3.jpg Apples4.jpg

在我的页面上,我有一个div,显示每组的图像选择:

<div>
<img src="Oranges1.jpg"/>
<img src="Oranges2.jpg"/>
<img src="Apples3.jpg"/>
<img src="Apples4.jpg"/>
</div>

我想通过jQuery做的是切换和淡化两组之间的图像。例如,当页面加载上面的图像时。然后,在5秒后,图像组切换,所以&#34; Oranges1.jpg&#34;成为&#34; Apples1.jpg&#34;,&#34; Apples3.jpg&#34;成为&#34; Oranges3.jpg&#34;等,例如:

<div>
<img src="Apples1.jpg"/>
<img src="Apples2.jpg"/>
<img src="Oranges3.jpg"/>
<img src="Oranges4.jpg"/>
</div>

因此,每5秒钟,图像会变为相反的组,但会显示相应的图像编号。

关于最佳方法的任何想法?

谢谢!

3 个答案:

答案 0 :(得分:1)

尝试这样的事情:

setTimeout(function() {
$('div img').each(function() {
    if ($(this).prop('src').indexOf('Oranges') != -1)
        $(this).prop('src', $(this).prop('src').replace('Oranges', 'Apples'));

     if ($(this).prop('src').indexOf('Apples') != -1)
        $(this).prop('src', $(this).prop('src').replace('Apples', 'Oranges'));                 
});
}, 5000)

答案 1 :(得分:1)

setInterval(function(){
    $('div > img').each(function(i){
        this.src = (/Apples/g.test(this.src) ? 'Oranges' : 'Apples') 
             + (i+1) + '.jpg';
    }); 
}, 5000);

FIDDLE

答案 2 :(得分:0)

评论中的格式不是很好,但两个答案的组合意味着我选择了:

setInterval(function(){
    $('div > img').each(function(i){
        this.src = (/apples/g.test(this.src) ? $(this).prop('src').replace('apples', 'oranges') : $(this).prop('src').replace('oranges', 'apples') );
    }); 
}, 5000);

感谢你们两位!