Php 使用ajax动态更改rcarousel
我使用rcarousel()和ajax(调用php页面)来显示不同的库。 我有一个页面,其中显示了来自不同图库的一组不同图片,用户选择一个,这会提示ajax调用我的php页面,jquery将其滑动以显示旋转木马。这在技术上是可行的,但我的问题是旋转木马本身似乎没有重新初始化。#carousel div获取图像并加载它们,但它们只是图像,页面不会更新。 使用firebug,我可以看到它第一次加载时,它会通过Php 使用ajax动态更改rcarousel,php,jquery,user-interface,carousel,Php,Jquery,User Interface,Carousel,我使用rcarousel()和ajax(调用php页面)来显示不同的库。 我有一个页面,其中显示了来自不同图库的一组不同图片,用户选择一个,这会提示ajax调用我的php页面,jquery将其滑动以显示旋转木马。这在技术上是可行的,但我的问题是旋转木马本身似乎没有重新初始化。#carousel div获取图像并加载它们,但它们只是图像,页面不会更新。 使用firebug,我可以看到它第一次加载时,它会通过 $( "#carousel" ).rcarousel({ auto: {enabled:
$( "#carousel" ).rcarousel({
auto: {enabled: false},
start: generatePages,
visible: 4,
pageLoaded: pageLoaded,
width: 160,
height: 120,
margin:20
});
然后执行generatePages和pageLoaded函数。
但在我点击一个图像后,它仍然解析$(“#carousel”).rcarousel({和选项,但它只是停止。我需要知道调用什么来重新初始化(或终止并重新启动)旋转木马
在四处寻根之后,我发现:
return !( $.isFunction(callback) &&
callback.call( this.element[0], event, data ) === false ||
event.isDefaultPrevented() );
在jquery.ui.widget.js文件(第230行)中,但我不确定这是否是问题所在,或者如果是,该怎么办。。。
任何人有任何建议或可以告诉我正确的方向,我会直接给你寄一瓶啤酒
*更新***
所以在做了更多的研究之后,我认为我需要做的是要么彻底销毁这个小部件,要么不用大锤,而是用某种方式重新控制它。
我看到ui.widget.js有这个功能:
destroy: function() {
this.element
.unbind( "." + this.widgetName )
.removeData( this.widgetName );
this.widget()
.unbind( "." + this.widgetName )
.removeAttr( "aria-disabled" )
.removeClass(
this.widgetBaseClass + "-disabled " +
this.namespace + "-state-disabled" );
},
我试着加上:
destroy: function()
{
this.rcarousel.remove();
$.Widget.prototype.destroy.call(this);
}
转到ui.carousel.js,然后通过
$( "#carousel" ).rcarousel( "destroy" );
但这完全打破了旋转木马