我一直在努力解决这个问题。我正在使用主干来渲染模型,并为我的下拉菜单选择了插件。
当一个新的集合进来时,jQuery slideDown 效果被用来渲染每个模型。每个模型都有一个选择下拉列表,需要填充超过 600 个选项。
我遇到的问题是,如果我先填充下拉菜单,那么 slideDown 动画就会断断续续,实际上通常只是被忽略(突然我的模型出现了,没有动画。)
我尝试过的另一个选项是先渲染模型,只为特定下拉列表附加模型的值,然后设置它的选定值。然后,调用 setTimeout 并填充其余选项(在幕后)。然而,在这种情况下,最终会出现明显的、令人讨厌的延迟。如果我没有设置超时,那么它会尝试填充尚不存在的下拉菜单。
我是否错过了如何有效地做到这一点的东西?我正在缓存选择下拉列表的选项列表。我已经尝试将所有选项循环到一个字符串中并替换下拉列表的 html,并循环遍历每个选项并一次附加一个。
我认为我的问题更多地与动画和 600 多个下拉选项的组合有关。理想情况下,模型出现后,它会立即填充下拉列表,不会有任何延迟。