Проблем с Js

Blackmailer

Registered
Имам следния простичък код, който ме мъчи, като целта е да скрива и показвам съдържанието

HTML :<div id="a1">Съдържание</div>
<div id="b1" onclick="show('1');">Покажи</div>
<div id="c1" onclick="hide('1');">Скрий</div>

JS : function show(p) {

document.getElementById('a'+p).style.display != 'block') {
document.getElementById('b'+p).style.display = 'none';
document.getElementById('c'+p).style.display = 'block';
}
function hide(p) {

document.getElementById('a'+p).style.display != 'hide') {
document.getElementById('b'+p).style.display = 'block';
document.getElementById('c'+p).style.display = 'none';
}}

Къде ми е грешката ?
 
амии .. на самата фунцкия предаваш един параметър апък в кода позваш друг .. ?!

на ф-цията подаваш Х
function hide(x) {

апак на кода подавашш P
document.getElementById('b'+p).style.display = 'block';

и освен т'ва кода ти трябва да изглежда така ..

Код:
<div id="a1">Съдържание</div>
<div id="b1" onclick="show('1');">Покажи</div>
<div id="c1" onclick="hide('1');">Скрий</div>

 function show(p) {

 if (document.getElementById('a'+p).style.display == 'block') {
document.getElementById('a'+p).style.display = 'none';
  }
}

function hide(p) {

 if (document.getElementById('a'+p).style.display == 'none') {
 document.getElementById('a'+p).style.display = 'block'; 
 }
}


:?: :?: :D
 
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" language="javascript">
function showDiv(){
document.getElementById('first').style.display=(document.getElementById('first').style.display!='block')?'block':'none';
return false;
}
</script>
<style type="text/css">
#first {
width:200px;
height:200px;
border:solid 1px red;
display:none;
}
</style>
</head>

<body>
<a href="javascript:;" onclick="javascript:showDiv();">Show/hide div</a>
<div id="first"></div>
</body>
</html>
 
[js]<script type="text/javascript">
function hideit(a) {
document.getElementById(a).style.display = 'none';
}

function showit(a) {
document.getElementById(a).style.display = 'block';
}
</script>[/js]

HTML:
<div id="a1">Съдържание</div>
<div id="b1" onclick="showit('a1');">Покажи</div>
<div id="c1" onclick="hideit('a1');">Скрий</div>

един пример с JQuery - http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_eff_show_hide :?:
 
nqkaff, много ми помогна, но искам Hide да се появява само като се покаже съдържанието

това ми е CSS:
#a1, #a2, #a3, #a4, #a5, #a6, #a7, #a8, #a9, #a10, #a11, #a12, #a13 {
display: none;
}

#b1, #b2, #b3, #b4, #b5, #b6, #b7, #b8, #b9, #b10, #b11, #b12, #b13 {
cursor: pointer;
color: #A80F26;
}

#c1, #c2, #c3, #c4, #c5, #c6, #c7, #c8, #c9, #c10, #c11, #c12, #c13 {
color: #A80F26;
cursor: pointer;
}
JS:
function hideit(a) {

document.getElementById(a).style.display = 'none';

}

function showit(a) {

document.getElementById(a).style.display = 'block';

}

и html e същият.
Ще съм ви благодарен, ако ми кажете как мога да направя това, като моделирам този код, с който разполагам.
 
[js] function hideit(a) {
document.getElementById(a).style.display = 'none';
document.getElementById("c1").style.display = 'none';
document.getElementById("b1").style.display = 'block';
}

function showit(a) {
document.getElementById(a).style.display = 'block';
document.getElementById("b1").style.display = 'none';
document.getElementById("c1").style.display = 'block';
}[/js]

[css]#a1, #a2, #a3, #a4, #a5, #a6, #a7, #a8, #a9, #a10, #a11, #a12, #a13, #c1 {
display: none;
}[/css]

HTML:
<div id="a1">something</div>
<div id="b1" onclick="showit('a1');">show</div>
<div id="c1" onclick="hideit('a1');">hide</div>
 
Така написано се получава само за а1, б1, ц1, а аз искам от а1 до а13 да се получава, пробвах така, но не става
function hideit(a) {
document.getElementById(a).style.display = 'none';
document.getElementById("c1","c2").style.display = 'none';
document.getElementById("b1","b2").style.display = 'block';
}

function showit(a) {
document.getElementById(a).style.display = 'block';
document.getElementById("b1","b2").style.display = 'none';
document.getElementById("c1", "c2").style.display = 'block';
}
 
<div id="b1" onclick="show('1');">Покажи</div>
<div id="a1">Съдържание</div>
<div id="c1" onclick="hide('1');">Скрий</div>
<div id="b2" onclick="show('2');">Покажи</div>
<div id="a2">Съдържание</div>
<div id="c2" onclick="hide('2');">Скрий</div>
и така нататък до 13
искам при зареждане на страницата да се появява Покажи и при натискане на покажи да се появява скрий и съдържанието
 

Back
Горе