2012-12-15 3 views
0

나는 SO에서 많은 부분을 검색했습니다. 클릭 한 번에 텍스트 표시/숨기기, div 만 표시하면 숨기기를 클릭하면 다른 div가 표시되지 않습니다.표시/숨기기 상태가 서로 다른 div를 표시합니다.

나는 이와 같은 것을 원한다.

텍스트를 만들면 기본적 SHOW에 의해 표시되고 formula1가 표시됩니다 쇼에 클릭 할 때, 이름이 DIV, 그것은 시험 SHOW을 숨기고 formula1 및 텍스트 HIDE 다른 나타납니다 이전 DIV를 숨 깁니다 div 포뮬러 2

아래에는 하나의 div 만 표시되었지만 클릭 할 때 두 div가 모두 표시되기를 원합니다. 당신은 당신이 작성하는 코드를 줄일 수 jQuery를 사용하지 말아 왜

<script language="javascript"> 
function toggle() { 
var ele = document.getElementById("toggleText"); 
var text = document.getElementById("displayText"); 
if(ele.style.display == "block") { 
     ele.style.display = "none"; 
    text.innerHTML = "show"; 
} 
else { 
    ele.style.display = "block"; 
    text.innerHTML = "hide"; 
} 
} 
</script> 
</head> 
<body> 
<a id="displayText" href="javascript:toggle();">show</a> <== click Here 
<div id="toggleText" style="display: none">peek-a-boo</></div> 
</body> 

사람

+0

모두 DIV 년대? ? 샘플 마크 업에는 단 하나뿐입니다. 'formula1'과'formula2'도 무엇입니까? – charlietfl

+0

@charlietfl

some text
some text

+0

설명은 전체에서 문제를 나타 내기에 충분한 HTML과 함께 완료해야합니다. – charlietfl

답변

1

<html> 
<head> 
<script language=javascript type='text/javascript'> 
function hideDiv() { 
if (document.getElementById) { 
document.getElementById('back').style.display = 'none'; 
document.getElementById('sale').style.display = 'block'; 
} 
} 
function showDiv() { 
if (document.getElementById) { 
document.getElementById('back').style.display = 'block'; 
document.getElementById('sale').style.display = 'none'; 
} 
} 
</script> 
</head> 
<body onLoad="javascript:showDiv()"> 
<div id="sale"> <button onClick="javascript:showDiv()">Hide</button><br>Hide Button will be replaced with Show button</div> 
<div id="back"><button onClick="javascript:hideDiv()">Show<br> </button><br>Show Button will be replaced with hide button</div> 
</body> 
</html> 
근무 URL을 이 스크립트의

.. div가 모두 숨겨져 표시됩니다. 예

버튼을 클릭하면 bot 시간 버튼 및 텍스트 보기 버튼을 숨기기 버튼로 대체됩니다 쇼 숨기기 버튼으로 대체하고 해당 텍스트 숨기기 버튼이 표시 단추로 대체되며, 그 반대의 경우도 마찬가지

관련 문제