【发布时间】:2014-10-09 19:35:34
【问题描述】:
是否可以在不重新加载菜单/标题的情况下使用 Javascript 刷新页面?
我正在构建一个页面,允许用户查看桌面和底座的不同组合,并且我一直在通过页面加载重置构建区域。但是我不喜欢它还会重新加载我的标题(导致跳转)的事实。
我知道我可以告诉页面只加载包含构建区域的 div:
$('#tableBuilder').load(document.URL + '#table Builder');
但是,这不会重新加载我的链接 script.js 文件,该文件位于破坏我的构建区域的页面中。
【问题讨论】:
-
您需要将
script.js中的代码封装在一个或多个函数中,然后在页面加载时调用它们一次,并且每次重新加载标题下的所有内容时调用一次。 -
@CarlSmith,在这里完全显示了我的无知,但是我如何调用一个看起来像这样的函数呢?: ( function( $ ) {...} )( jQuery );函数中包含几个其他函数,以及我需要刷新的代码。我试着这样称呼它:function($); (函数($));我还尝试将整个内容包装在一个新函数中,但这会导致 .js 在初始加载时失败。
-
经过更多研究,似乎 (function($) {...})(jQuery);是一个IIFE。有关 IIFE 的更多信息,请访问 here。总而言之,我的 .js 文件中的函数未包含在我的页面中。相反,函数的结果被包含在内,使我无法调用该函数(因为只存在结果)。仍在努力获得我想要的结果。
-
你需要把你传递给'onready'的IIFE拿出来,然后把它命名。您可以定义一个名为
boot或其他名称的大函数,然后将其按名称传递给 onready 调用,然后在“重新加载”页面时再次调用它。如果没有看到您的代码,就不可能说出什么是最好的,但这就是想法。您需要打破 onready 逻辑,为其命名,然后将其称为 onready,并在重新加载时再次调用。
标签: javascript html css