Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Javascript (http://www.velocityreviews.com/forums/f68-javascript.html)
-   -   show/hide layer (http://www.velocityreviews.com/forums/t924002-show-hide-layer.html)

Merlin 04-04-2006 12:49 PM

show/hide layer
 
Hi there,

I am trying to create a form with an dynamic field that can be shown or hidden.
As I saw for example on google it is possible with JS to show a layer and move
the content underneath that layer further down uppon showing this layer. When a
person closes that layer the content underneath the layer moves up again and
closes the empty space. How is this possible?

I am playing around with some code I am posting with this thread. Could somebody
give me a small push to get closer to my goal?

Thank you in advance,

Merlin

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Show and Hide a Layer</title>
<style type="text/css">
#boxthing { position:relative; top:0px; left:0px; width:250px; height:150px;
border:1px #000000 solid; background-color:#FF9999; padding:0.5em; }
</style>
<script type="text/javascript">

function hideLayer(whichLayer) {
if (document.getElementById) {
// this is the way the standards work
document.getElementById(whichLayer).style.visibili ty = "hidden";
}
else if (document.all) {
// this is the way old msie versions work
document.all[whichlayer].style.visibility = "hidden";
}
else if (document.layers) {
// this is the way nn4 works
document.layers[whichLayer].visibility = "hidden";
}
}

function showLayer(whichLayer) {
if (document.getElementById) {
// this is the way the standards work
document.getElementById(whichLayer).style.visibili ty = "visible";
}
else if (document.all) {
// this is the way old msie versions work
document.all[whichlayer].style.visibility = "visible";
}
else if (document.layers) {
// this is the way nn4 works
document.layers[whichLayer].visibility = "visible";
}
}

function handleClick(whichClick) {

if (whichClick == "hide it") {
// then the user wants to hide the layer
hideLayer("boxthing");

}
else if (whichClick == "show it") {
// then the user wants to show the layer
showLayer("boxthing");
}

}

</script>
</head>
<body>
<a href="#" onclick="handleClick('show it'); return false">Show Layer</a><br>

<div id="boxthing" style="visibility:hidden;">
<a href="#" onclick="handleClick('hide it'); return false">Hide Layer</a><br>
<p>Use the links above to show and hide this layer.<p></div>
tese


</body>

Dag Sunde 04-04-2006 02:05 PM

Re: show/hide layer
 
"Merlin" <ngroups@fastmail.fm> skrev i melding
news:49f8bcFo4lgsU1@individual.net...
> Hi there,
>
> I am trying to create a form with an dynamic field that can be shown or
> hidden.
> As I saw for example on google it is possible with JS to show a layer and
> move the content underneath that layer further down uppon showing this
> layer. When a person closes that layer the content underneath the layer
> moves up again and closes the empty space. How is this possible?
>
> I am playing around with some code I am posting with this thread. Could
> somebody give me a small push to get closer to my goal?
>
> Thank you in advance,
>
> Merlin
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html>
> <head>
> <title>Show and Hide a Layer</title>
> <style type="text/css">
> #boxthing { position:relative; top:0px; left:0px; width:250px;
> height:150px; border:1px #000000 solid; background-color:#FF9999;
> padding:0.5em; }
> </style>
> <script type="text/javascript">
>
> function hideLayer(whichLayer) {
> if (document.getElementById) {
> // this is the way the standards work
> document.getElementById(whichLayer).style.visibili ty = "hidden";

<snipped/>

Use 'display' instead of 'visibility'...

....style.dipplay = "none";
....style.dipplay = "block";

--
Dag.



RobG 04-04-2006 02:27 PM

Re: show/hide layer
 
Dag Sunde wrote:
> "Merlin" <ngroups@fastmail.fm> skrev i melding
> news:49f8bcFo4lgsU1@individual.net...
>
>>Hi there,
>>
>>I am trying to create a form with an dynamic field that can be shown or
>>hidden.

[...]
>
> Use 'display' instead of 'visibility'...
>
> ...style.dipplay = "none";
> ...style.dipplay = "block";


Better to use di*s*play = '' instead of 'block':

...style.display = 'none';
...style.display = '';


Setting the display property allows it to return to the default (or
whatever has been set via CSS or whatever), and is generic for all display
property values. It is also handy where different browsers set different
defaults for some elements.


--
Rob

Dag Sunde 04-04-2006 07:33 PM

Re: show/hide layer
 
"RobG" <rgqld@iinet.net.au> skrev i melding
news:4432824b$0$2108$5a62ac22@per-qv1-newsreader-01.iinet.net.au...
> Dag Sunde wrote:
>> "Merlin" <ngroups@fastmail.fm> skrev i melding
>> news:49f8bcFo4lgsU1@individual.net...
>>
>>>Hi there,
>>>
>>>I am trying to create a form with an dynamic field that can be shown or
>>>hidden.

> [...]
>>
>> Use 'display' instead of 'visibility'...
>>
>> ...style.dipplay = "none";
>> ...style.dipplay = "block";

>
> Better to use di*s*play = '' instead of 'block':
>
> ...style.display = 'none';
> ...style.display = '';
>
>
> Setting the display property allows it to return to the default (or
> whatever has been set via CSS or whatever), and is generic for all display
> property values. It is also handy where different browsers set different
> defaults for some elements.
>


True, I should have advised that instead...

--
Dag.




All times are GMT. The time now is 10:33 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.