PDA

View Full Version : getElementById Script problem



emanuelle
05-08-2006, 11:55 AM
I would like to change some features of this script:
The checkbox is the one who shows and hides the div.

The div has to be closed when the page loads.
The row of the checkbox (bgcolor="#808080") has to change color when it shows the content of DIV (becomes #efefef)
Has to work in Explorer and FF
Can anyone help pls

<script type="text/javascript">
/*
Made by Martial Boissonneault 2001-2002 http://getElementById.com/
May be used and changed freely as long as this msg is intact
Visit http://getElementById.com/ for more free scripts and tutorials.
*/
function ShowHide(obj, visibility) {
if(document.getElementById){
divs = document.getElementsByTagName("div");
divs[obj].style.visibility = visibility;
}
}
</script>

<table>

<tr>
<td bgcolor="#808080"><input type="checkbox" value="" onclick="ShowHide('lyr1','visible')">
<a href="#" onclick="ShowHide('lyr1','hidden')">hide</a><br/></td>
</tr>
<div id="lyr1">lyr1</div>
</table>

otaku
05-08-2006, 04:14 PM
Hello Emanuelle,

Try to play with the below script to fit your needs:



<html>
<head>
<script type="text/javascript">
function toggleDiv(obj, cont){
var el = document.getElementById(obj);
var ms = document.getElementById('message');
var ct = document.getElementById(cont);
if(el.style.visibility != 'visible'){
el.style.visibility = 'visible';
ms.innerHTML = "click to hide";
ct.style.backgroundColor = '#EFEFEF';
}else{
el.style.visibility = 'hidden';
ms.innerHTML = "click to show";
ct.style.backgroundColor = '#808080';
}
}
</script>
</head>
<body>
<form id="myForm">
<div id="content" style="width:200px; background-color:#808080;">
<input type="checkbox" value="" onclick="toggleDiv('lyr1','content')">
<span id="message">click to show</span>
</div>
<div id="lyr1" style="visibility:hidden;">Hello Emanuelle!</div>
</form>
</body>
</html>

emanuelle
05-08-2006, 04:24 PM
Thank you so much. You are such a great help to me
I have one more. ok with you??

otaku
05-08-2006, 04:30 PM
Thank you so much. You are such a great help to me
I have one more. ok with you??

You are welcome emanuelle :)

For "the one more" start a new thread and maybe me or someone else will have time to answer your question.