1

我有一个带有五个按钮的文档。在这排按钮下方,我生成了一个占位符div。当我单击一个按钮时,我用来从另一个页面load()加载到占位符 adiv中(每个按钮将一段 HTML 加载到 placeholder 中div)。

好的,我的问题是我加载到占位符中的块是幻灯片(anythingslider)。即使我在主页上有另一个幻灯片并且已经加载了所有相关的 CSS 和 JS,它们也不起作用。

据我发现我需要使用getScript(),但我似乎仍然没有掌握它。我需要重新加载相关脚本吗?

提前感谢您的帮助 - K

4

4 回答 4

1

听起来您只需要从回调函数(在加载内容后调用)初始化滑块。代码看起来像这样:

$('div#placeholder1').load('content.html', function() {
  // target the loaded div, find the slider and initialize it
  $('div#placeholder1').find('ul.slider').anythingSlider({ /* options */ });
});
于 2011-04-17T07:23:04.337 回答
0

.load()对于我在加载内容上使用的所有脚本,我在加载内容时确实遇到了同样的问题。

试图将 script.js 放在顶部、底部,甚至放在曾经加载的内容上,但还没有解决方案。

我一般如何解决它?

编辑:

刚刚找到答案:

$(document).ajaxComplete(function(){
    // fire when any Ajax requests complete
})

链接:在 AJAX 加载的内容上运行 JQuery 脚本

于 2011-09-07T12:51:56.757 回答
0

这有助于我将“依赖于 jquery 的内容”加载到网页文档中。我个人喜欢把东西保存在函数中,因为当你周围有其他脚本时,它更容易维护。我创建了一个名为 globalSections 的函数,只要我保持以下模式,它就可以在任何页面上使用。在函数中,我创建了一个 div 元素,其 ID 称为“header”。然后我将我的外部“依赖于 jquery 的内容”加载到新创建的 div 中。 最后,获取运行该内容所需的脚本。

$.globalSections = function() {
  $('#wrapper').prepend('<div id="header"></div>');
  $('#header').load('/myfile.html', function() {
  $.getScript("js/jquery.scripts.js");
  });
}

然后运行函数

$(function() {
  $.globalSections();
});

简短而简单

于 2012-01-31T17:33:06.100 回答
0

听起来您正在将 html 加载到您的页面中,但在您完成之后没有实例化滑块。从另一个页面加载 html,不会带来另一个页面上运行的 JS 对象。

于 2011-04-13T20:24:43.623 回答