从另一个js文件中调用jQuery里面的函数

时间:2017-10-09 07:30:06

标签: javascript jquery function scripting

我正在使用wordpress模板,其中有一个script.js文件,如下所示

的script.js

var jQuery=jQuery.noConflict();
jQuery(document).ready(function() {

//while window loads
var obj = document.getElementById("centreFrame");
var comObj = document.getElementById("communityFrame");


var side1 = document.getElementById("t3-sidebar-1");
var side2 = document.getElementById("t3-content");

  function getUrlParameter(name, url) {
      if (!url) url = window.location.href;
      name = name.replace(/[\[\]]/g, "\\$&");
      var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
          results = regex.exec(url);
      if (!results) return null;
      if (!results[2]) return '';
      return decodeURIComponent(results[2].replace(/\+/g, " "));
  }
});

现在还有另一个脚本文件“main.js”,我想在其中调用getUrlParameter(a,b)函数。

main.js

window.onscroll = function() {
  //here I need to call getUrlParameter function 
}

如何在这个onscroll函数中调用“getUrlParameter”函数?

注意:先加载script.js然后加载main.js,我也不使用任何捆绑工具。如果我在文档准备就绪之外编写此函数,则它不能在文档就绪函数内使用。

2 个答案:

答案 0 :(得分:0)

基本上你在文件准备好之后声明这个函数getUrlParameter你需要在加载文件时声明它,所以你需要把这个函数放在

function getUrlParameter(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
    results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));

} 文档就绪功能之外 这将解决你的问题。

答案 1 :(得分:0)

确保在html中包含脚本文件,如下所示,并确保订单如下所示

<script type="text/javascript" src="main.js" ></script>
<script type="text/javascript" src="script.js" ></script>

将函数移出jQuery.document.ready范围,并尝试它是否适合你。