PDA

View Full Version : CSS Image Gallery - show image when page loads?



arossphoto
10-13-2006, 01:18 AM
1) Script Title: CSS Image Gallery

2) Script URL (on DD): http://www.dynamicdrive.com/style/csslibrary/item/css-image-gallery/

3) Describe problem:

I really like the simplicity of this image gallery, but I was wondering if it was possible to have one image display when the page loads.

Thanks,

Andrew

jscheuer1
10-13-2006, 04:48 AM
Well, with a bit of javascript, yes. Here is an example using the demo code for this css effect:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<base href="http://www.dynamicdrive.com/cssexamples/" />
<style type="text/css">

/*Credits: Dynamic Drive CSS Library */
/*URL: http://www.dynamicdrive.com/style/ */

.gallerycontainer{
position: relative;
/*Add a height attribute and set to largest image's height to prevent overlaying*/
}

.thumbnail img{
border: 1px solid white;
margin: 0 5px 5px 0;
}

.thumbnail:hover{
background-color: transparent;
}

.thumbnail:hover img{
border: 1px solid blue;
}

.thumbnail span{ /*CSS for enlarged image*/
position: absolute;
background-color: lightyellow;
padding: 5px;
left: -1000px;
border: 1px dashed gray;
visibility: hidden;
color: black;
text-decoration: none;
}

.thumbnail span img{ /*CSS for enlarged image*/
border-width: 0;
padding: 2px;
}

.thumbnail:hover span{ /*CSS for enlarged image*/
visibility: visible;
top: 0;
left: 230px; /*position where enlarged image should offset horizontally */
z-index: 50;
}

</style>
<script type="text/javascript">
if (document.getElementById&&document.getElementsByTagName) {
document.write('<style type="text/css">'+
'.thumbnail span#begin {'+
'visibility:visible;'+
'top: 0;'+
'left: 230px;'+ /*position where enlarged image should offset horizontally */
'z-index: 50;'+
'}'+
'.thumbnail #begin img {'+
'border: 1px solid blue;'+
'}<\/style>')
}

function initRemove(){
var thumbs=document.getElementsByTagName('a');
for (var i_tem = 0; i_tem < thumbs.length; i_tem++)
if (thumbs[i_tem].className=='thumbnail')
thumbs[i_tem].onmouseover=function(){
if (document.getElementById('begin'))
document.getElementById('begin').id=null;
}
}

if (document.getElementById&&document.getElementsByTagName) {
if ( typeof window.addEventListener != "undefined" )
window.addEventListener( "load", initRemove, false );
else if ( typeof window.attachEvent != "undefined" )
window.attachEvent( "onload", initRemove );
else {
if ( window.onload != null ) {
var oldOnload = window.onload;
window.onload = function ( e ) {
oldOnload( e );
initRemove();
};
}
else
window.onload = initRemove;
}
}
</script>
</head>
<body>
<div class="gallerycontainer">

<a class="thumbnail" href="#thumb"><img src="media/tree_thumb.jpg" width="100px" height="66px" border="0" /><span id="begin"><img src="media/tree.jpg" /><br />Simply beautiful.</span></a>

<a class="thumbnail" href="#thumb"><img src="media/ocean_thumb.jpg" width="100px" height="66px" border="0" /><span><img src="media/ocean.jpg" /><br />So real, it's unreal. Or is it?</span></a>

<br />

<a class="thumbnail" href="#thumb"><img src="media/sushi2_thumb.jpg" width="100px" height="75px" border="0" /><span><img src="media/sushi2.jpg" /><br />Sushi for dinner anyone?</span></a>

<a class="thumbnail" href="#thumb"><img src="media/horses_thumb.jpg" width="100px" height="70px" border="0" /><span><img src="media/horses.jpg" /><br />Run wild with horses.</span></a>

<br />

<a class="thumbnail" href="#thumb">Dynamic Drive<span><img src="media/dynamicdrive.gif" /><br />Dynamic Drive</span></a>

<br />

<a class="thumbnail" href="#thumb">Zoka Coffee<span><img src="media/zoka.gif" /><br />Zoka Coffee</span></a>

</div>

</body>
</html>

Simply give the span that you want visible the id of "begin". In browsers without javascript enabled, the css effect should function just as it would without these modifications.