2011-08-06 82 views
1

我直接用补间方法扩展jquery对象。 这是否适用于所有使用jquery的页面或者仅在我做了扩展的页面内。例如,说这是一个高低不平的页面,我有一个如下所示的脚本。jquery扩展问题

sublevel_page.js

$(function(){ 
    /// some script to do with my sub level page 

    // my easing script 
     jQuery.extend(jQuery.easing,{ 
      easeInOutExpo: function (x, t, b, c, d) { 
       return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; 
      } 
    }) 

}) 

然后我就可以说我的主页上还连有一个脚本调用home.js

$(function(){ 
    // my home page code 
    // would I need to add my extend easing code again here or is it part of the 
    // framework once the extend happens in my sublevel_page 
}); 

有一些灰色的jquery中仍然没有完全获取的区域,这是一个。在很多语言中,您在应用程序开始级别扩展框架,并立即应用于所有使用该框架的代码。 如果我上面的假设是正确的,那么使用jquery的其他页面会如何知道,因为它们在加载时会将jquery脚本添加到它们中。有人能为我阐明这个问题吗?

回答

0

当你扩展jquery并添加你自己的插件时,它会被添加到全局对象jQuery或$中。但是你必须确保你在其他文件中包含有这个扩展代码的文件,在这些文件中你试图使用它们。我希望这是有道理的。

+0

好吧,从你说的话来看,如果我想让这个缓动适用于所有页面,那么它必须位于它自己的js文件中。 easing.js然后我需要将这个文件添加到每个页面,然后才能使用它。 。所以它只会在页面生命周期中被添加到jquery框架中。如果我转到另一个没有附加脚本的html页面,那么该页面将无法使用缓动方法。所以它并没有像以前那样扩展jquery框架,而仅仅是在页面生存期间。那是对的吗 ? – Chapsterj

+0

是的,您必须在每个网页中包含该文件。 Jquery是纯JavaScript,其范围是每页请求。 – ShankarSangoli

0

如果你不想扩展jquery,你总是需要包含你的sublevel_page.js脚本,如果你不包含它,那么它不能扩展。最好的方法是把你的方法放入jquery js文件中。所以你会永远拥有它。