2012-11-29 9 views
0

DIV를 다른 DIV 위로 오른쪽에서 왼쪽으로 슬라이드하려고합니다. 처음 슬라이드를 끝내면 작동하지만 슬라이드가 작동하지 않습니다. 다시 오른쪽에서 왼쪽으로 슬라이드하여 사라지면 버튼을 다시 클릭하려고 시도하지만 처음 열었다 닫으면 작동하지 않습니다.슬라이드 DIV를 오른쪽에서 왼쪽으로 전환

내 코드는 다음과 같이하십시오

function changeFeat() { 
    if(jQuery('#featartinside').css('display') == 'none') { 
     jQuery('#featartinside').animate({ 
      width: 730, 
      marginLeft: 1, 
      marginRight: -730, 
      display: 'toggle' 
     }, 'slow'); 
    } else { 
     jQuery('#featartinside').animate({ 
      width: -730, 
      marginLeft: 1, 
      marginRight: 730, 
      display: 'toggle' 
     }, 'slow'); 
    } 
} 

#featartban { 
    position: relative; 
    background: url(../images/featart.png) top left no-repeat; 
    width: 54px; 
    height: 279px; 
    cursor: pointer; 
    float: left; 
    left: 730px; 
    margin-bottom: -279px; 
} 

#featartinside { 
    height: 279px; 
    width: 0; 
    margin-left: 730px; 
    background: #D13630; 
    float: left; 
    margin-bottom: -279px; 
} 

나는 그것이 개방을 위해 잘 작동이 대신 닫는 왼쪽 왼쪽에서 오른쪽으로 바로 계속하기 때문에 작동하지 않는 폐쇄입니다 말했듯이. 그렇다면 나는 두 번 열고 닫을 수 없다.

편집 HTML : jQuery를에 집착

<div id="featartban" onclick="changeFeat(); return false;"></div> 
<div id="featartinside" style="display: none;"></div> 
+0

당신이 당신의 HTML을 붙여 넣을 수 있을까요? – TNCodeMonkey

+0

그것은 2 라인 하하입니다 :) 완료. – jfreak53

+0

내가보고있는 문제는 내부 div를 축소하면 표시 유형을 "블록"으로 유지하는 것입니다. 따라서 오픈 코드를 타격하지 않습니다. – TNCodeMonkey

답변

2

.

var $featartban = $("#featartban"); 
var $featartinside = $("#featartinside"); 
$featartban.toggle(function show() { 
    $featartinside.animate({ 
    width: 730, 
    marginLeft: 1, 
    marginRight: -730, 
    display: 'toggle' 
    }, 'slow'); 
}, function hide() { 
    $featartinside.animate({ 
    width: 0, 
    marginLeft: 730, 
    marginRight: 0, 
    display: 'toggle' 
    }, 'slow'); 
});​ 

.toggle()

<div id="featartban"></div> 
<div id="featartinside" style="display: none;"></div>​ 

은 ( .toggle()와 혼동하지) 굉장합니다.

See it live here.

+0

AWESOME! 나는 뭔가를 놓친다는 것을 알았다. 감사. – jfreak53

관련 문제