我在$(db)中有大量的xml数据。单击某个元素时,函数遍历$(db)并在隐藏div中创建新的DOM元素。那我怎么能顺利地滑下div?
$('li').live('click', function(){
// many $('div.content').append(....
$('div.content').slideDown();
});
在上面的示例中,div.content变为可见,但没有幻灯片效果。如果我,而不是创建DOM元素加载具有相同内容的html文档,幻灯片效果正常工作。我认为在创建很多新的DOM元素时,浏览器会阻塞,然后无法执行流畅的动画。我怎么能解决这个问题呢?是否可以在变量中创建所有DOM元素,然后像使用.load()时那样显示它?
答案 0 :(得分:0)
如果你可以从DOM中选择新创建的元素,这个方法将很好地工作(需要jQuery)。您只需显示您创建的元素,然后将浏览器滚动到视图中。
function scrollTo(element){
$("html, body").animate({
scrollTop: $(element).position().top
});
}