我目前正在建设使用煎茶触摸应用程序。我们在包含多个项目的页面上有一个Carousel。在单击不同面板上的按钮时,某些项目将被添加并移除到面板。项目在煎茶触摸旋转木马消失
问题:计划用于第一次点击,但点击后点击相同的按钮再次所有作品,功能停止工作,旋转木马显示器变为空白,与没有可见的项目。
以下是按钮的处理程序,用于更改轮播itemsCarousel
的内容。该功能将itemPanels[ b.getBadgeText() ]
添加到itemsCarousel
的项目中。对于前四次点击,这个效果很好。在此之后,当我点击一个按钮时,传送带中的所有项目都会消失,并且我无法添加或删除更多内容,甚至无法从控制台手动调用传送带。
handler: function(b, e) {
itemsCarousel.insert(1, itemPanels[ b.getBadgeText() ]);
itemsCarousel.doLayout(); itemsCarousel.doComponentLayout();
itemsCarousel.setActiveItem(1);
itemsCarousel.remove(0, false);
}
事我已经尝试:
- 通过在时隙
0
插入项改变命令,设置0
活性,然后除去1
。 - 将javascript断点放在每行上,看看传送带空白处。有时发生在
.insert()
声明中,有时发生在.remove()
。 - 从控制台手动执行所有操作。
- 调整在
.remove()
呼叫的autoDestroy
参数(如上文所示)和在itemsCarousel
声明。
如果您需要更多的代码,我可以发布您认为可能相关的任何内容,我不想用多余的代码污染此线程。谢谢你的帮助!
编辑:如果有人知道另一种方式来重现相同的功能,我愿意接受这一点。我在想,也许可以创建一个带有一个物品的虚拟持有人容器,一个旋转木马,并删除整个旋转木马,并在点击按钮时重新添加一个全新的项目(使用新项目)?
如果您使用控制台很舒服,确保carousel.items集合包含你认为它应该之前和之后点击。看着控制台中的dom可能也会提供一些线索。 – 2011-03-24 20:23:31
@Jason,谢谢你的回应。我在违规点击之前和之后检查了DOM,一切看起来很正常。即使点击后,DOM显示的carousel.items正确的项目,他们只是不正确显示。 当我最初使用'carousel.removeAll()',然后试图重新添加项目时,我有一些类似的症状,但我转移到此方法,因为它暂时工作。我觉得我接近最新的错误,但我不能钉它! – Ian 2011-03-24 22:15:39