2011-04-13 59 views
1

我有一个说五个按钮的文档。 在这排按钮下方,我生成一个占位符div。 当我点击一个按钮时,我使用load()从另一个页面(每个按钮将一个HTML块加载到占位符div)加载到占位符a divjQuery的getScript()+加载()加载内容不工作

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

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

预先感谢您的任何帮助 - K

+0

我很困惑究竟是什么问题。你能详细说明什么是不工作? JavaScript没有加载?你是否得到js错误?调用load时,html是否加载? – Max 2011-04-13 20:33:14

+0

这是你在找什么? http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax1 – 2011-04-13 20:39:17

+0

我有一个完美的幻灯片工作集apage。进一步向下翻页,我想通过load()加载另一个幻灯片;但是,即使我想要加载到母版页中的幻灯片放映与页面上已有的幻灯片放映完全一样,加载的幻灯片也不会工作,即它看起来与我的浏览器中禁用JavaScript一样。 – Kevin 2011-04-13 20:43:31

回答

0

这听起来像你加载HTML到您的网页,但你后不实例滑块。从另一个页面加载html不会覆盖在其他页面上运行的JS对象。

+0

也不会执行任何脚本或函数。你也不希望他们! – 2011-04-13 20:39:01

+0

所以我需要instanciate,即使适当的js + css文件已经存在于包含'已加载'内容的页面中? – Kevin 2011-04-13 20:39:49

1

听起来好像你只需要从回调函数中初始化滑块(在内容被加载后调用)。该守则将是这个样子:

$('div#placeholder1').load('content.html', function() { 
    // target the loaded div, find the slider and initialize it 
    $('div#placeholder1').find('ul.slider').anythingSlider({ /* options */ }); 
}); 
0

我通过​​遇到加载内容同样的问题,我所有的剧本我所加载的内容使用。

试图把script.js放在顶部,底部,甚至在没有任何解决方案的情况下加载 内容。

我该如何修复它?

编辑:

就找到了答案:

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

LINK:Running JQuery scripts on AJAX loaded content

0

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

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

然后运行功能

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

简短