@Anil Kumar odpowiedź jest dobra, ale jeszcze niezupełnie, toggle()
animuje zmianę, jeśli robisz to w tym samym czasie, nie czekając, aż ktoś zrobi, aby przełączyć drugą, będziesz miał 2 pływające tam iframe.
Oprócz @Anil Wszystko chcę dodać jest następujące zmiany:
function preview(duration, hide) {
var hide = hide || 1;
var show = hide === 1 ? 2 : 1;
$('#iframe'+hide).toggle(500, function() {
$('#iframe'+show).toggle(500);
setTimeout(function() {
preview(duration, show);
}, duration);
});
}
To niesprawdzone ale co należy zrobić tak czy inaczej jest zastosowanie przełącznika dla ciebie, przełączanie identyfikatory z elementami każde wezwanie, które najpierw animuje widoczny element, a następnie animuje niewidoczny element.
Zapewnia to, że elementy nie kolidują ani nie przerywają przepływu elementów. Ponadto dodałem argument duration
do swojej funkcji - w ten sposób można wywołać funkcję tak:
preview(10000)
jeśli #iframe2
jest widoczny pierwszym użyciu, że numer identyfikacyjny, aby go ożywić pierwszy, domyślnie jeden widoczny w funkcji.
preview(10000, 2)
Utrzymuje również odtworzenie obiektów jQuery cały czas których telefony nie lubię (może to spowolnić em w dół bardzo złe), więc starają się buforować tych zmiennych poza funkcją i przekazać je być może używając innej sztuczki, która przełącza elementy.
Szukasz tego? – Balachandran
czy sprawdziłeś demo http://jsfiddle.net/090w362f/2/ – Balachandran
Przekazujesz ciąg znaków zamiast objektu do parametru obj o nazwie;) – SidOfc