2014-05-16 1 views
0

두 개의 div를 전환하고 하나를 숨기고 다른 것을 표시하는 데 사용할 버튼이 있습니다. 첫 번째 div는 괜찮은 것으로 표시되지만 전환이 발생하고 두 번째 div가 표시되면 너 비가 최소화되고 동일하지 않습니다. 왜 jQuery 토글 기능이 내 div의 너비를 변경합니까?

<button id="flipGraphs">Change</button> 

내 div의

은 다음과 같습니다 : 나는 두 개의 그래프를이 문제를 제거하고 만들 수있는 방법

<script>  
    $(document).ready(function(){ 
    $('#flipGraphs').click(function(){ 
     $('.graph').toggle();   
    });  
    }); 
</script> 

(div의)을 함께 보여

<div class="graph hidden"><%= line_chart @weekly_graph %></div> 
<div class="graph"><%= line_chart @daily_graph %></div> 

는 jQuery 코드입니다 정상적인 너비, 토글 기능의 영향을받지 않습니까?

도움이 매우 감사합니다.

+0

[당신이 문제를 재현 할 수 있습니까?] (http://jsfiddle.net) – undefined

+0

당신이 CSS를 당신이 찾고있는 폭을 정의가 있습니까? – ElliotM

+0

@ElliotM, 스타일을 정의하고 있지만 버튼을 클릭하여 토글 기능을 적용하면 해당 div에서 폭 또는 높이를 정의하는 모든 스타일이 무시됩니다. 그 이상한. – uklp

답변

0

CSS에 고정 폭을 지정하십시오. 예컨대 :

<div class="graph hidden" style="width: 500px;"><%= line_chart @weekly_graph %></div> 
<div class="graph" style="width: 500px;"><%= line_chart @daily_graph %></div> 

당신에 가장 적합하고 더 이상 너비를 변경하지 않는 경우 폭을 찾기 :

div.graph { width: 500px;} 

또는 인라인 스타일로

.

+0

전에 논리적 인 것처럼 보이지만 작동하지 않는 것, 그것은 토글 함수가 그냥 모든 스타일을 무시한 것 같습니다 숨겨진 div가 표시된 후 적용됩니다. – uklp

+0

@uklp가 width 속성을 덮어 쓸 수 있습니까? 아마도 그래프를 렌더링하는 함수/이벤트일까요? 당신은 컨테이너 div를 생성하고 그것을 스타일에 적용 해 볼 수도 있고 오버플로를 추가 할 수도 있습니다 : hidden; 컨테이너 div도 마찬가지다. –

+0

@uklp 또는 '! important' 플래그를 추가하십시오. 그래서 너비 : 500px! 중요; –

0

div의 내용 때문에 너비를 변경하지 않으려는 경우 그래프 클래스에서 너비를 추가하기 만하면됩니다.

.graph { 
    width : 200px;//depends on your data 
} 
+0

나는 전에도 그렇게 해봤지만 논리적으로 보인다. 작동하지만, 그것은 토글 함수가 숨겨진 div가 표시된 후에 적용되는 모든 스타일을 무시하는 것처럼 보입니다. – uklp

관련 문제