2012-05-31 148 views
0
function pageSwap(page) { 
$(".content").fadeOut("1000",function(){ 
    $(".content").load(page, function(){ 
    $(".content").fadeIn("5000");  
    }); 
}); 
} 

這是納入到我的網頁從pageswap.js, 然後我遇到了很多麻煩與pageswap

<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".content").pageSwap("main.html"); 
}); 
</script> 

我有main.html中,包括腳本,調用的函數,但它不會工作..

回答

4

你已經聲明瞭一個全局函數,但沒有擴展jQuery的這個功能。所以,你只需要調用pageSwap()象下面這樣:

<script type="text/javascript"> 
    $(document).ready(function() { 
     pageSwap("main.html"); 
    }); 
</script> 

UPDATE:您可以使用下面的代碼與pageSwap方法延長JQuery的:

(function($) { 
    $.fn.extend({ 
     pageSwap: function(page) { 
      return this.each(function() { 
       var obj = $(this); 
       obj.fadeOut("1000", function() { 
        obj.load(page, function() { 
         obj.fadeIn("5000"); 
        }); 
       }); 
      }); 
     } 
    }); 
})(jQuery); 

然而,還有另一種可供選擇的方法描述於@Esailija's answer

+0

哦,上帝,我怎麼會那麼愚蠢-.- TY –

+0

你能告訴我如何擴展它使用jQuery工作? –

+0

您認爲[關於此](http://meta.stackexchange.com/q/134183/173320) – gdoron

2

你需要做你的代碼工作:

$.fn.pageSwap = function(page) { 
    this.fadeOut("1000", $.proxy(function(){ 
     this.load(page, $.proxy(function(){ 
      this.fadeIn("5000");  
     }, this)); 
    }, this)); 
};