2013-08-06 2 views
0

슬라이더에서 슬라이스를 동적으로 제거해야하지만 슬라이더를 사용하여 원본 슬라이드를 모두 새로 고침 할 수 있어야합니다. 다시 넣을 수 있습니다.div에서 실제로 div를 제거/삭제하지 않고 div를 슬라이더에서 제거

어떻게하는 것이 좋습니까?

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 
} 

나는 단순히 숨어 시도 : 나는 정보의 가치보다 3 개 슬라이드가있는 경우

<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 코드 따라서 남은 슬라이드를 제거해야, 결정 :

HTML은 같다 div가 표시되지만 myscroll.refresh()가 호출 되더라도 슬라이더는 여전히 빈 슬라이드로 스크롤합니다.

+1

'jQuery.css ("visibility", "hidden")'시도 했습니까? 그것은 divs 보이지 않는 것입니다,하지만 그들은 여전히 ​​일반적인 공간을 차지할 것입니다. –

답변

1

사용 .detach :

즉 당신이 그 나중에 다시 삽입 캐시 할 수 있지만, jQuery를이 통과하는 document를 사용하고 document에서 제거하고 있기 때문에 당신이 그들에 대한 참조를 저장해야합니다 최선의 방법 인 경우
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 
} 

확실하지.

관련 문제