2013-08-06 62 views
0

我需要動態地從滑塊(使用iscroll製作)中移除幻燈片,但還需要滑塊可以「刷新」或所有原始幻燈片被放回去。從滑塊中刪除div,但實際上並未從dom中刪除/刪除div

如何才能做到這一點?

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

試過'jQuery.css(「visibility」,「hidden」)'?它會讓你的div不可見,但它們仍然會佔據平常的空間。 –

回答

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遍歷和你從document刪除它,最好的方式。