从滑块中删除div而不实际删除/删除dom中的div

时间:2013-08-06 15:49:40

标签: jquery iscroll

我需要动态地从滑块(由iscroll制作)中移除幻灯片,但还需要滑块才能“刷新”或放回所有原始幻灯片。

最好怎么做?

html看起来像:

<div id="wrapper">
    <div id="slider>
        <div id="job-container1"><!-- slide 1 content here--></div>
        <div id="job-container2"><!-- slide 2 content here--></div>
        <div id="job-container3"><!-- slide 3 content here--></div>
    </div>
</div>

js代码确定我是否有少于3张幻灯片的信息,因此需要删除左侧的幻灯片:

if(savedJobs.length === 1){
    $('#job-container2, #job-container3').remove()
    $('#slider').css('width','100%')
}else if(savedJobs.length === 2){
    $('#job-container3').remove()
    $('#slider').css('width','200%')
}else if(savedJobs.length >2){
    //todo: check if its the last in the array also
}

我试图隐藏div,但即使调用myscroll.refresh(),滑块仍会滚动到空白幻灯片

1 个答案:

答案 0 :(得分:1)

使用.detach

var containers = $('#job-container2, #job-container3');

if(savedJobs.length === 1){
    containers.detach()
    $('#slider').css('width','100%')
}else if(savedJobs.length === 2){
    $('#job-container3').detach()
    $('#slider').css('width','200%')
}else if(savedJobs.length >2){
    //todo: check if its the last in the array also
}

不确定这是否是缓存那些以后重新插入它们的最佳方式,但是您需要保存对它们的引用,因为jQuery使用document遍历并且您将其从{{1 }}