Jquery显示div形成另一页

我有这个问题,我觉得有点难以解释,但我会尝试:

我有一个页面,在click事件中使用load()函数淡入和淡出其他页面中的一些divs 。 其中一个divs包含使用Jquery.Cycle显示的一系列图片。 虽然在页面本身jquery.Cycle工作正常,但当导入到页面时它没有。 希望我的解释清楚。

导入代码是这样的:

 $('#wrapper a').live("click", function(evt) { evt.preventDefault(); var url = $(this).attr('href'); var oldDiv = $('#wrapper-content'); var newDiv = $('#wrapper-content1').load(url + ' #wrapper-content'); newDiv.hide(); $('#wrapper-mid-in-right').prepend(newDiv); newDiv.fadeIn(1000); oldDiv.fadeOut(1000,function() { $(this).remove(); }); }); 

如上所述,循环效果在页面上正常工作。 请帮我。 F。

 $('#gallery').cycle({ fx: 'scrollRight', timeout: 100000, speed: 500, delay: -2000, pager: '#pager' 

});

我相信您的问题与您发布的代码块无关。 由于以下几点,插件在页面本身中起作用:

  1. 循环插件已加载
  2. 标记已经存在
  3. 插件适当启动( $(document).ready()等)

在将此内容动态加载到页面中时,这些事实都不是真的。

  1. 循环插件是否在此页面中加载?
  2. 导入新标记后,必须启动Cycle插件。

父页面中的JS(加载Cycle内容的页面)应该大致类似于:

 $('#wrapper-content1').load(url + ' #wrapper-content', function() { $('#gallery').cycle({ fx: 'scrollRight', timeout: 100000, speed: 500, delay: -2000, pager: '#pager' }); }); 

试试这样

 $('#wrapper a').live("click", function(evt) { evt.preventDefault(); var url = $(this).attr('href'); var oldDiv = $('#wrapper-content'); var newDiv = $('#wrapper-content1').load(url + ' #wrapper-content'); newDiv.hide(); $('#wrapper-mid-in-right').prepend(newDiv); newDiv.fadeIn(1000); oldDiv.fadeOut(1000,function() { $(this).remove(); }); $('#gallery').cycle({ fx: 'scrollRight', timeout: 100000, speed: 500, delay: -2000, pager: '#pager' }); }); 

尝试更改如下,我希望它会帮助你。 我已经写了关于代码旁边的更改的注释

 function cycleFunction(){ // implement cycle functionality here } $(document).ready(function(){ cycleFunction(); // calling function for 1st time $('#wrapper a').on("click", function(evt) { evt.preventDefault(); var url = $(this).attr('href'); var oldDiv = $('#wrapper-content'); var newDiv = $('
').attr('id','wrapper-content1'); // create the div with id $('#wrapper-mid-in-right').prepend(newDiv); include in the existing div $('#wrapper-content1').load(url + ' #wrapper-content', function(){ cycleFunction(); // calling function everytime div load }); // load the new div }); });