Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax动态更改rcarousel_Php_Jquery_User Interface_Carousel - Fatal编程技术网

Php 使用ajax动态更改rcarousel

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:

我使用rcarousel()和ajax(调用php页面)来显示不同的库。 我有一个页面,其中显示了来自不同图库的一组不同图片,用户选择一个,这会提示ajax调用我的php页面,jquery将其滑动以显示旋转木马。这在技术上是可行的,但我的问题是旋转木马本身似乎没有重新初始化。#carousel div获取图像并加载它们,但它们只是图像,页面不会更新。 使用firebug,我可以看到它第一次加载时,它会通过

$( "#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" );
但这完全打破了旋转木马