我目前正在建設使用煎茶觸摸應用程序。我們在包含多個項目的頁面上有一個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