Jquery jCarousel卸载/禁用/删除
我正在使用jCarousel在我的页面中旋转图像。它工作得很好,没有任何抱怨,但我正在使用页面上的选项卡,当我转到另一个选项卡时,它会出现一个丑陋的jCarousel错误。基本上,我想做的是当我转到一个新选项卡时,从元素中删除jCarousel,但我一生都无法理解它 要添加旋转木马,我使用的代码如下$(“#myelement”).jCarousel({/*config-params*/})Jquery jCarousel卸载/禁用/删除,jquery,jcarousel,Jquery,Jcarousel,我正在使用jCarousel在我的页面中旋转图像。它工作得很好,没有任何抱怨,但我正在使用页面上的选项卡,当我转到另一个选项卡时,它会出现一个丑陋的jCarousel错误。基本上,我想做的是当我转到一个新选项卡时,从元素中删除jCarousel,但我一生都无法理解它 要添加旋转木马,我使用的代码如下$(“#myelement”).jCarousel({/*config-params*/}) 但是我不确定如何从$(“#myelement”)中删除.jCarousel。有什么想法吗?我假设您正在谈论
但是我不确定如何从$(“#myelement”)中删除.jCarousel。有什么想法吗?我假设您正在谈论这个插件:
您会遇到什么类型的错误?我猜它是在试图找到不可见的元素,并且失败了。您似乎可以将一个函数绑定到选项卡切换,以隐藏旋转木马或调用其reset()方法。以下是我删除元素而不出错的方法:
function mycarousel_initCallback(carousel){
$("#main_holder").mouseenter(function(){
if(document.getElementById("event_scroller")){
carousel.startAuto(2);
}
}).mouseleave(function(){
carousel.stopAuto();
});
$("#main_holder a").click(function(){
carousel.stopAuto();
carousel.remove();
});};
$(document).ready(function(){
$("#event_scroller").jcarousel({
scroll: 1,
wrap: 'circular',
vertical: true,
animation: 700,
initCallback: mycarousel_initCallback
});
});
当我们点击主区域中的链接时,
我的jCarousel元素将从另一个脚本中删除,因此
我们有一个处理这个巫婆的人正在停止传送带,然后。移开
我曾尝试在回调之外执行此操作,但jCarousel
只能从回调内部进行控制。以下是我针对这个丑陋的js错误“Jcarousel:没有为项目设置宽度/高度…”的解决方案。尽量避免双重初始化jCarousel
var carousel_initialized = false;
if(!carousel_initialized) {
jQuery('#mycarousel').jcarousel({
... // all your parameters
initCallback: function() {
carousel_initialized = true;
}
});
或者试着得到一个jCarousel的实例,比如
carousel_initialized = $("#mycarousel").data('jcarousel');
if(!carousel_initialized) {
jQuery('#mycarousel').jcarousel({
... // all your parameters
});
}
如果通过AJAX替换jCarousel容器,则应执行以下操作:
if( myCarousel = $("#mycarousel").data('jcarousel') ) {
myCarousel.stopAuto()
myCarousel.reset();
}
我希望这对某人有帮助
schulle7除了PaDalton的回答,我还从窗口中分离了resize事件,因为我的旋转木马位于()弹出框中
$(window).unbind('resize.jcarousel');
触发事件时,$(this).dimensions(e)
行发送警报消息,因为li节点没有大小,它认为要显示对象,但如果没有大小,它将无法正确计算旋转木马尺寸
错误消息是
无限循环-没有设置宽度或高度
是的,这就是我所说的JQuery插件。错误是:jCarousel:没有为项目设置宽度/高度。这将导致无限循环。流产。。。我知道错误出现的原因,但我必须删除元素以及插件与元素的绑定。类似于$(“myelement”).remove(jCarousel)?!