繁体   English   中英

从另一个js文件调用jQuery内部函数

[英]Call jQuery inside function from another js file

我正在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,而且我没有使用任何捆绑工具。 如果我在文档就绪功能之外编写此功能,则无法在文档就绪功能中使用该功能。

基本上,您在文档准备好后声明此函数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, " "));

}可以解决问题的文档准备功能之外。

确保您将两个脚本文件都包含在html中,如下所示,并确保顺序如下所示

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

将函数移出jQuery.document.ready范围,然后尝试是否适合您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM