2012-03-01 37 views

Trả lời

10

Thay đổi dòng bên dưới

$('.container').delay(2000).fadeIn().$(document).callMe(); 

để

$('.container').delay(2000).fadeIn(callMe) 
+0

Mỗi đề xuất ở trên đây là jsbin http://jsbin.com/ uluyim/2 – Bot

+0

@arunes Cảm ơn bạn! .. Có thể gọi một hàm nằm trên tệp js riêng biệt không? ví dụ. script.js [$ ('. container'). delay (2000) .fadeIn (callMe)] & external.js [function callMe() {...}] – Pennf0lio

+0

Có thể cũng vậy. Tất nhiên nếu bạn thêm tập tin js có chức năng 'callMe' vào tài liệu với thẻ'

1

Tất cả các phương pháp hoạt hình jQuery có callbacks hoàn thành cho phép bạn chạy các mã sau khi hoạt hình được thực hiện

$('.container').hide().delay(2000).fadeIn(callMe) ;; 
+0

cảm ơn bạn đã giải thích cho tôi :) – Pennf0lio

+0

ví dụ trong API là tài liệu tham khảo tuyệt vời http://api.jquery.com/fadeIn/ – charlietfl

0
$(function(){ 

    $('.container').hide(); 

    $('.container').delay(2000).fadeIn(callMe); 

}); 

function callMe() { 
    alert ("It works!"); 
2

Trong trường hợp của bạn, bạn có thể sử dụng arunes ' s giải pháp, bằng cách sử dụng gọi lại từ các hình ảnh động. Tuy nhiên, nếu bạn cần thêm thời gian trễ giữa hoạt ảnh và gọi lại được thực hiện, bạn cũng có thể thực hiện điều đó, như sau:

$('.container').fadeIn(function() { 
    $(this).delay(2000).queue(function() { 
    alert('Custom function executed two seconds after fadeIn()!'); 
    $(this).dequeue(); 
    }); 
}); 
Các vấn đề liên quan