2013-10-01 7 views
0

Я хочу создать простую слайд-шоу, изменив атрибут изображения src (id = imgT).
ultop не видно (display:none)Слайд-шоу с изменением атрибута img src

<img id='imgT' src="top/00.jpg"> 
<ul id="ultop"> 
    <li><img src="top/00.jpg"></li> 
    <li><img src="top/01.jpg"></li> 
    <li><img src="top/02.jpg"></li> 
    <li><img src="top/03.jpg"></li> 
</ul> 

<script> 
n=0; 
x=$('#ultop li').length; 

setInterval(function() { 
    if (n < (x - 1)){n+=1;} 
    else {n=0}; 
    var goimg = $('#ultop li img' + ':eq(' + n +')').attr('src'); 
    $('#imgT').fadeOut(1000, function() { 
    $('#imgT').attr('src', goimg).fadeIn(); 
}); 
}, 7000) 
</script> 

Но есть пустой промежуток между FADEOUT и FadeIn.
Вы можете увидеть живой пример here

Есть ли способ сделать этот процесс гладко без этого пробела.

ответ

1

Попробуйте как этого

$('#imgT').fadeOut(1000, function() { 
    $('#imgT').attr('src', goimg).fadeIn(); 
}); 

Надеется, что это помогает вам

+0

Анила, это помогает частично. Атрибут 'src' изменяется во времени, но между' fadeOut' и 'fadeIn' остается пустой пробел. – bonaca

+0

вы можете сделать действие fadeout быстрым, '$ ('# imgT'). FadeOut ('fast', function() { $ ('# imgT'). Attr ('src', goimg) .fadeIn ('fast'); }); ' –

Смежные вопросы