Câu trả lời của @Anil Kumar là tốt nhưng không hoàn toàn ở đó, toggle()
làm động tác thay đổi, nếu bạn làm điều đó cùng một lúc như vậy mà không cần chờ đợi để thực hiện chuyển đổi người khác, bạn sẽ có 2 iframe ngồi ở đó.
Ngoài @Anil Tất cả tôi muốn thêm là việc sửa đổi như sau:
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);
});
}
này chưa được kiểm chứng nhưng những gì nó nên làm anyways là áp dụng chuyển đổi cho bạn, chuyển đổi ID trong những yếu tố mỗi cuộc gọi mà đầu tiên làm động phần tử hiển thị và sau đó làm động phần tử vô hình sau đó.
Điều này đảm bảo các yếu tố không va chạm hoặc phá vỡ dòng chảy của các phần tử. Hơn nữa tôi đã thêm một cuộc tranh cãi của duration
đến chức năng của bạn - bằng cách này bạn có thể gọi hàm như thế này:
preview(10000)
nếu #iframe2
có thể nhìn thấy đầu tiên bạn sử dụng số ID để làm cho nó động đầu tiên, nó mặc định một cái có thể nhìn thấy trong hàm.
preview(10000, 2)
này cũng giữ tái tạo jQuery đối tượng tất cả các thời gian mà điện thoại di động không thực sự thích (nó có thể làm chậm em xuống khá xấu) vì vậy hãy thử để cache những trong các biến bên ngoài của hàm và vượt qua chúng có lẽ, sử dụng một mẹo khác để chuyển đổi các yếu tố.
Bạn đang tìm kiếm cái này? – Balachandran
bạn đã kiểm tra bản demo http://jsfiddle.net/090w362f/2/ – Balachandran
Bạn đang chuyển một chuỗi thay vì obj vào tham số có tên obj;) – SidOfc